Excel VBA | For…Next文

VBA
スポンサーリンク

実務でよく使う For…Next 文サンプル

「実務で役立つ Excel VBA の For…Next 文サンプル」を紹介します。初心者でもすぐ応用できるように、業務でよくあるシーンを例に挙げます。

1. 売上データの合計を求める

シーン: B列に売上金額が並んでいて、合計をC1に出したい。

Sub SumSales()
    Dim i As Long
    Dim total As Double
    
    total = 0
    ' B2~B101までの売上を合計
    For i = 2 To 101
        total = total + Cells(i, 2).Value
    Next i
    
    Range("C1").Value = total
End Sub
VB

2. 空欄セルに「未入力」と書き込む

シーン: A列に名前リストがあり、空欄を見つけたら「未入力」と補完する。

Sub FillBlanks()
    Dim i As Long
    
    For i = 2 To 50
        If Cells(i, 1).Value = "" Then
            Cells(i, 1).Value = "未入力"
        End If
    Next i
End Sub
VB

3. 条件付きで色を付ける

シーン: 売上が 100,000 円以上なら緑、未満なら赤にする。

Sub HighlightSales()
    Dim i As Long
    
    For i = 2 To 101
        If Cells(i, 2).Value >= 100000 Then
            Cells(i, 2).Interior.Color = vbGreen
        Else
            Cells(i, 2).Interior.Color = vbRed
        End If
    Next i
End Sub
VB

4. 月次シートをまとめて処理

シーン: 「1月」「2月」…「12月」シートのA1セルに「チェック済」と書き込む。

Sub MarkSheets()
    Dim i As Integer
    
    For i = 1 To 12
        Sheets(i).Range("A1").Value = "チェック済"
    Next i
End Sub
VB

5. 複数ファイルを一括処理(応用)

シーン: フォルダ内の Excel ファイルを順番に開いて、A1セルを読み取る。

Sub ProcessFiles()
    Dim i As Long
    Dim FileList As Variant
    
    ' ファイル一覧を配列に格納(例として3ファイル)
    FileList = Array("C:\Data\file1.xlsx", "C:\Data\file2.xlsx", "C:\Data\file3.xlsx")
    
    For i = LBound(FileList) To UBound(FileList)
        Workbooks.Open FileList(i)
        Debug.Print ActiveWorkbook.Name & " の A1 = " & ActiveSheet.Range("A1").Value
        ActiveWorkbook.Close SaveChanges:=False
    Next i
End Sub
VB

ポイント

  • 業務では「表の行を順番に処理する」ケースが多い
  • 条件分岐 (If) と組み合わせると一気に実用的になる
  • シートやファイルを順番に処理するのも For…Next の得意技
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました