目次

目的

Excel VBA のマクロで一行全体を選択したい。

選択した行の値、書式を変更したい。

目次まで戻る

題材

Excel ワークシートの 3 行目を選択します。

3 行目全体に「VBA」の文字を入力します。

3 行目全体の背景色を黄色に変更します。

行選択を行う Excel マクロの完成イメージ。
ワークシートの 3 行目全体が選択された後に、背景を黄色に変更、 VBA の文字をセルに入力しています。

目次まで戻る

その方法の一例

Excel VBA のソースコード例:

Sub 方法_002547()

    ActiveSheet.Rows(3).Select '3 行目全体を選択します。
    ActiveSheet.Rows(3).Value = "VBA" '3 行目全体に「VBA」の文字を入力します。
    ActiveSheet.Rows(3).Interior.ColorIndex = 6 '3 行目全体に黄色(カラーインデックス 6 番)の背景色を設定します。

End Sub

上記のマクロを実行すると以下のようになりました。 3 行目全体が選択された状態になっています。「VBA」の文字が 3 行目の全てのセルに入力されているようです。背景色の設定も行われています。

「 ActiveSheet.Rows(3).Select 」の行で、セルの選択を行っています。 Rows(3) は、ワークシートの 3 行目全体を示しています。セルの選択を行わないでも、値の設定、セルの着色を行えますが、例として選択状態にしています。

「 ActiveSheet.Rows(3).Value = "VBA" 」の行で、「 VBA 」の文字を入力しています。 Rows(3) で 3 行目全体を対象にしているので、 3 行目の全てのセルに文字が入力されます。

「 ActiveSheet.Rows(3).Interior.ColorIndex = 6 」の行で、セルの背景色を設定しています。 ColorIndex は、番号で指定するようになっていて、 3 が「赤」、 5 が「青」、 6 が「黄」など、番号が決まっています。

行選択を行う Excel マクロの実行結果。
ワークシートの 3 行目全体が選択されて、その背景が黄色に着色されています。 VBA の文字も入力されています。
行選択を行う Excel マクロの実行結果。 IV 列。
3 行目の最終列 IV 列(Excel 2003 です)までセル選択、文字入力、背景色着色が行われています。

以下のように With ステートメントでひとくくりにして実行することもできるようです。上記のコードでは ActiveSheet.Rows(3) を 3 回書いていますが、 With ~ End With を使用することで ActiveSheet.Rows(3) の記述が 1 回で済みました。

Excel VBA のソースコード例:

Sub 方法_002547_001()

With ActiveSheet.Rows(3) 'With ステートメントを使用しています。
.Select
.Value = "VBA"
.Interior.ColorIndex = 6
End With 'With ステートメントを使用しています。

End Sub

今回のサンプルでは 3 行目を操作していますが、それを 10 行目に変更したい場合も、以下のように 1 箇所の修正で済むと思うので便利です。

Excel VBA のソースコード例:

Sub 方法_002547_001()

With ActiveSheet.Rows(10) '変更した部分
.Select
.Value = "VBA"
.Interior.ColorIndex = 6
End With

End Sub

目次まで戻る

テスト環境

  • Windows 10
  • Microsoft Office Excel 2003

目次まで戻る

あとがき

ワークシートの複数行を対象にした操作方法も調べていきたいと思います。

本投稿、間違ってないと良いですが。

以上、閲覧ありがとうございました。

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿