「Excel」で、範囲を対象とした何らかの操作を実行するのに「Visual Basic for Application」(VBA)を使うことはよくあるが、そのためには、対象となるセルをVBAに伝える方法が必要だ。唯一ではないがいちばん簡単なのは、おそらく、ApplicationのSelectionプロパティを使うやり方だろう。この記事では2つのマクロを紹介する。1つ目は、範囲を選択してから実行するマクロ。2つ目は、マクロを実行する前と後、どちらでも範囲を選択できるマクロだ。選択した範囲には、ほぼあらゆる操作が可能だが、今回は、簡単なのでこの記事の焦点である「範囲選択」の手順に集中できるという理由から、塗りつぶしを選んだ。
筆者は、64ビット版「Windows 10」の「Office 365」(「Excel 2016」デスクトップ)を使っているが、紹介するマクロは古いExcelでも動くだろう。自分のブックを使ってもいいし、デモ用の.xlsmファイル、.xlsファイル、および.basファイル(コードモジュール)をダウンロードしてもいい。ブラウザ版のExcelはマクロが使えない。マクロを作成したことがない人も、この記事で紹介する手順に従えば完成させられるはずだ。
前もって選択した範囲を操作する
前もって選択した範囲に対してVBAを使った操作を実行するには、Rangeオブジェクトを作成して、そのオブジェクトを先に選択した範囲にセットする必要がある。これは思ったより簡単だ。今回この部分を実際にやっているのは、DimステートメントとSetステートメントの部分だ。
残り本文:約3597文字 ログインして続きを読んでください。