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