VBAを使用してさらに処理するために、ユーザーのマウス入力を介して選択されたセル範囲を取得するにはどうすればよいですか?
Selectionオブジェクトをループして、何が選択されたかを確認できます。 Microsoftのコードスニペット(http://msdn.Microsoft.com/en-us/library/aa203726(office.11).aspx)は次のとおりです。
Sub Count_Selection()
Dim cell As Object
Dim count As Integer
count = 0
For Each cell In Selection
count = count + 1
Next cell
MsgBox count & " item(s) selected"
End Sub
Selection
はVBA内の独自のオブジェクトです。それはRange
オブジェクトによく似ています。
ただし、選択と範囲はすべて同じプロパティとメソッドを共有するわけではありません。そのため、使いやすくするために、範囲を作成して選択範囲と同じ値に設定するだけでよい場合があります。
Dim myRange as Range
Set myRange = Selection
詳細については、 MSDNの記事 をご覧ください。
これは、「選択範囲を取得する」という意味によって異なります。範囲を取得することを意味する場合address( "A1:B1"など)の場合、SelectionオブジェクトのAddressプロパティを使用します。Michaelが選択オブジェクトはRangeオブジェクトに非常に似ているため、ほとんどのプロパティとメソッドはそれ。
Sub test()
Dim myString As String
myString = Selection.Address
End Sub