エクセルVBAで使用するコードの備忘録。VBAで複数のセルを示すRangeオブジェクトを取得して同時に複数セルを選択するコード。
Unionメソッド
複数のセルを示すRangeオブジェクトを取得するにはApplication.Unionメソッドを使用します。引数としては同時に選択したいセルを表すRangeオブジェクトを与えます。
Application.Union([Range1], [Range2], [Range3], ...)
サンプルコード
下記のサンプルコードでは、指定ワークシート上の3つのセルを同時に選択しています。ちなみに[アドレス1]などは、”A1″や”A2:G31″のような文字列を指定します。Unionメソッドの引数はRangeオブジェクトであればよいので、Cellsで指定することもできます。特に規則的に複数のセルを選択するときなどは、Cellsで指定したほうが良い場合も多いと思います。
なお、コードを使用する際はカッコに囲まれた部分([***])を自分のプログラムに合わせて変更してください。
指定アドレスのセルを同時に選択する
Public Sub UnionTest()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("[シート名]")
Call Application.Union(ws.Range("[アドレス1]"), ws.Range("[アドレス2]")).Select
End Sub