目次

あらすじ

今回の投稿では、 Excel(エクセル)のワークシート内にある指定セルを含む行を選択するマクロを作成してみたいと思います。

完成イメージは以下の画像になります。「B3」セルを含む行が選択されています。

B3 セルを含む行が選択されている。
B3 セルを含む行が選択されている。

目次まで戻る

マクロ

早速、マクロを記述してみたいと思います。以下のコードを書いてみました。

Sub 指定セルを含む行を選択する()

Range("B3").EntireRow.Select 'EntireRow プロパティを使用しています。 Range オブジェクトの取得ができます。

End Sub

Range("B3")

操作対象として「B3」セルを指定しています。ワークブック、ワークシートを指定していない場合は、「ActiveSheet.Range()」と書いたことになるようです。現在のワークシートからセルを探すようですね。

グラフシートを選択した状態で上記のマクロを実行すると、エラーが発生します。

実行時エラー1004。Rangeメソッドは失敗しました。_globalオブジェクト。
実行時エラー1004。Rangeメソッドは失敗しました。_globalオブジェクト。

.EntireRow プロパティ

「.」(ピリオド)の前のセル範囲を含む行全体を取得しています。

.Select メソッド

「.」(ピリオド)の前のセル範囲を選択状態にしています。マウスとキーボードで選択した時と同じ見た目になると思います。

目次まで戻る

テスト環境

  • Windows 10
  • Microsoft Office Excel 2003

目次まで戻る

あとがき

EntireRow プロパティを使用しないで、指定セルを含んだ行を選択する場合、以下のようなコードを書くこともできると思います。一例としてご覧ください。

Sub EntireRowプロパティを使用せずB3セルを含む行を選択する()

    Rows(Range("B3").Row).Select

End Sub

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

目次まで戻る

前後の投稿