Excel

For Eachの使い方

投稿日:2020年4月12日 更新日:

今回はVBAのFor Eachについて解説します。

シート上は特に準備することが無く、以下のソースコードを実行します。


Sub For_Each()                          'For Each プロシージャ

    Dim cell_A1_A5 As Range             'Range型の cell_A1_A5 を宣言する。
    
    Dim s As Range                      'Range型の s を宣言する。
    
    With ThisWorkbook.Worksheets("Sheet1")          '「 ThisWorkbook.Worksheets("Sheet1") 」の記述を省略できる
    
       Set cell_A1_A5 = .Range(.Cells(1, 1), .Cells(5, 1))  'このファイルのSheet1シートの A1~A5 を cell_A1_A5 に代入する。
                                                                                            
    End With                                        'End Wih

    For Each s In cell_A1_A5                        'In cell_A1_A5 に含まれるセルの数だけ For Each がループされる。

        MsgBox s.Row                                '行位置を表示する。

    Next                                            '次の要素へカウントアップ

End Sub                                             'For Each プロシージャの終わり

A1セルからA5セルをcell_A1_A5とし、For Each文によってcell_A1_A5内の各セルをsとして行位置をメッセージ表示する処理を5回繰り返します。

実行すると1~5とメッセージ表示されることがわかります。

なお、以下の過去記事と組み合わせることで入力したすべてのセルの背景色を黄色くすることもできます。

-Excel

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【SAS】SASで良く使うテクニック。その3 「Ctrl+D」~データセットのオブザベーション数が多いとき~【Excel】

今回はSASで良く使うテクニックということで、データセットのオブザベーション数(行数)が多いときは「Ctrl+D」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その …

【SAS】SASで良く使うテクニック。その4 「参照元のトレース」~データセットの差分がある箇所を探すのに便利~【Excel】

今回はSASで良く使うテクニックということで、データセットの差分がある箇所を探すときは「参照元のトレース」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使うテクニック。その1 Ex …

セルに値を設定する【Excel】【VBA】

今回はExcelのセルに値を設定する方法をご紹介します。 以下のようにソースコードを記述します。 Sub 値設定() Dim a1 As String a1 = “あいうえお“ …

【SAS】SASで良く使うテクニック。その7 「条件付き書式」~差分があるセルに色を付けたい時~【Excel】

今回はSASで良く使うテクニックということで、データセットのコンペアにおいて、差分があるセルに色を付けたい時ときは「条件付き書式」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使う …

【SAS】SASで良く使うテクニック。その6 「名前ボックス」~指定したセルに飛びたい時~【Excel】

今回はSASで良く使うテクニックということで、指定したセルに飛びたい時は「名前ボックス」が役に立つ理由を解説していきます。 以前の記事で「Ctrl+R」や「Ctrl+D」を用いた例を紹介してきました。 …