【VBA】複数のセルを同時に選択する

エクセル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