日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるExcel VBA集

(Excel VBA) 選択範囲、選択シートに対する処理の定型的書き方

f:id:dz_dzone:20170724134148j:plain

選択範囲

Sub Sample1()
    ' ** 選択範囲に対する処理 **
    Dim CL As Range
    For Each CL In Selection
        ' ここで、
        ' Selection = 選択範囲の全てのセル
        ' CL = 選択範囲の個々のセル
        ' を示す。
        ' CLに対する処理を書くとFor Each~Nextでループして全ての選択セル
        ' に対する処理となる。
    Next CL
End Sub

選択シート

Sub Sample2()
    ' ** 選択シートに対する処理 **
    Dim WS As Worksheet
    For Each WS In ActiveWindows.SelectedSheets
        ' ここで、
        ' ActiveWindows.SelectedSheets = 選択シートの全てのシート
        ' WS = 選択シートの個々のシート
        ' を示す。
        ' WSに対する処理を書くとFor Each~Nextでループして全ての選択シート
        ' に対する処理となる。
    Next WS

全てのシート

データ集計をやっていると全てのシートに適用させたい場合が多々出てきます。この場合は、

Sub Sample3()
    ' ** 全シートに対する処理 **
    Dim WS As Worksheet
    For Each WS In Worksheets
        ' ここで、
        ' Worksheets = 全てのワークシート
        ' WS = 個々のシート
        ' を示す。
        ' WSに対する処理を書くとFor Each~Nextでループして全てのシート
        ' に対する処理となる。
    Next WS
End Sub