みなさんこんにちは、現役エンジニアのサメハックです
未経験からWebエンジニアに転職し、
現在正社員として5年働いたのちフリーランスとして独立しました。
1分で理解できるVBA講座シリーズです。
今回はについて学んでいきましょう!
駆け出しエンジニアや未経験の方、
また新入社員を指導する先輩社員にとっても
わかりやすいように解説していきます!
この記事を読むと・・・
- 1分でFor~Nextのループ処理が作れる
1分で理解できるVBA講座シリーズはじめっ!
前準備
マクロを有効にする
Excelファイルを開き、
ファイル→オプション→トラストセンター→トラストセンターの設定→マクロの設定
という順に進み、
VBAが有効な場合にExcel4.0のマクロを有効にする
という項目にチェックを入れてください。
VBEの起動
Excelファイルを開いた状態でAlt+F11を押してVBEを開いてください
モジュールの作成
挿入→標準モジュール
という順に操作すると自動的にモジュールが開くので、ここにコードを記述します。
For〜Nextを使おう
' Long型の変数iを宣言
Dim i As Long
' iに代入する値の範囲(行番号)を決める
For i = 開始行数 To 終了行数
' 繰り返したい処理
Next
For〜Nextの間に処理を記述することで
所定の処理を繰り返すことが出来ます。
iには多くのケースで行数が入るよ!
実際に作ってみよう!
ここではこのような表を用意しました。
このB列に上から1,2,3とセル更新する
マクロを動かしてみましょう。
Sub ForNextを使ったループ処理()
' Long型の変数idを宣言
Dim id As Long
'idの初期値に1を設定
id = 1
' Long型の変数iを宣言
Dim i As Long
' iに5~7を順番に代入
For i = 5 To 7
' B列のi番目にidを設定
Cells(i, "B") = id
'idをカウントアップする
id = id + 1
Next
End Sub
実行すると正しく値が入ることがわかりました。
ポイントはidの宣言とカウントアップです。
iの値をIDに入れてしまうと、
行数がそのまま入力されてしまうので
別途宣言し、ループごとに値を更新する必要があります。
まとめ
- ループ処理を行うにはFor〜Next構文を使う
- Dim i As Longは定型文として覚えてしまう
満足いただけたら、1クリックなのでSNSフォローしてもらえると嬉しいです🦈