これはusedrange
の問題ではありません。
たとえば、Excelで、ユーザーがマウスを使用して範囲(空の場合もある)を選択するとします。たとえば、B4:C12
そして、この後、範囲の選択を解除せずにユーザーがマクロを押すと、マクロはB4:C12を通知する必要があるとしましょう。
誰かが例を示すことができますか?
マクロは、次の行に沿ったものである必要があります。
Sub showrng()
MsgBox SelectedRange.Address(ReferenceStyle:=xlA1)
End Sub
Sub macro1()
MsgBox Selection.Address(ReferenceStyle:=xlA1, _
RowAbsolute:=False, ColumnAbsolute:=False)
End Sub
HTH!
Sub macro1()
MsgBox Selection.Address
End Sub
または
Sub macro1()
Dim addr as String
addr = Selection.Address
msgbox addr
' Now, as we found the address, according to that... you can also do other operations
End Sub
選択には複数の独立した範囲を含めることができるため、次のコードは問題のより完全な解決策を示しています。
Public Sub SelectionTest()
Dim r As Range
Dim s As String
Select Case Selection.Areas.Count
Case 0:
MsgBox "Nothing selected."
Case 1:
MsgBox "Selected range: " & Selection.Areas(1).Address(False, False)
Case Else
s = ""
For Each r In Selection.Areas
s = s + vbNewLine + r.Address(False, False)
Next r
MsgBox "Selected several areas:" & s
End Select
End Sub