はじめに:「何度もやる」と「複数をまとめる」は自動化の王道!
店舗業務を通して痛感したのは、同じ処理を何度も繰り返すことと、複数のデータを一括管理する煩雑さでした。売上データ入力、会員情報の集計、クーポン対象者のリスト作成――これらはループとデータ構造を組み合わせることで、効率化できます。
🔁 繰り返し処理:For文とDo文の違いと使い分け
For~Next文:回数が決まっている繰り返しに
Dim i As Integer
For i = 1 To 5
Cells(i, 1).Value = "番号:" & i
Next i
-
Step
を使えば増加幅も変更可能 - 実務では「月ごとの売上を順に入力」などで活用
Do~Loop文:条件によって繰り返す
Dim i As Integer
i = 1
Do While i <= 5
Cells(i, 2).Value = "Doループ:" & i
i = i + 1
Loop
-
Do Until 条件
と入れ替えれば反対条件も表現可能 - 「入力が空欄になるまで繰り返す」など、柔軟な処理向け
活用エピソード
複数店舗のデータ入力を、ワンクリックで一括処理できる仕組みを作ったことで、月初作業が半日→数分に短縮できました。ループ処理はまさに自動化の基礎体力です。
📦 データのまとめ技:配列とコレクションの基本
配列:固定長でシンプルなデータ管理
Dim names(2) As String
names(0) = "田中"
names(1) = "佐藤"
names(2) = "鈴木"
- 要素の追加はできないが、高速処理向き
- For文との組み合わせで、複数セルへの一括出力が可能
コレクション:可変長で柔軟なデータ構造
Dim team As Collection
Set team = New Collection
team.Add "田中"
team.Add "佐藤"
Dim member As Variant
For Each member In team
MsgBox member
Next member
- 要素の追加・削除が自由
-
For Each
構文でスマートな処理が可能
実務での配列/コレクションの違い
特徴 | 配列 | コレクション |
---|---|---|
要素数 | 固定 | 可変 |
型の指定 | 明示的 | Variantが多い |
処理方法 | For文 | For Each文 |
コレクションは、店舗によってスタッフ数がバラバラでも対応可能な柔軟性がありました。変化のある現場では重宝します。
✨ まとめ:ループとデータ構造は最強コンビ!
繰り返し処理で作業時間を大幅に削減し、配列/コレクションで複数データを効率的に管理――この2つを組み合わせることで、VBAによる業務改善は飛躍的に進みます。
次回予告:Excelのセルを自由自在に操る!Rangeオブジェクトの活用術
第8回(次回)は、Excelの“主役”であるセル(Range)について深掘り。セルの取得、操作、塗りつぶし、複数範囲の連続処理までを網羅します!