如何通过用户鼠标输入选择一系列单元格以便使用VBA进行进一步处理?
答案 0 :(得分:33)
Selection
是VBA中自己的对象。它的功能与Range
对象非常相似。
选择和范围不共享所有相同的属性和方法,因此为了便于使用,创建一个范围并将其设置为等于Selection可能是有意义的,那么您可以像其他任何方式一样以编程方式处理它范围。
Dim myRange as Range
Set myRange = Selection
如需进一步阅读,请查看MSDN article。
答案 1 :(得分:26)
您可以遍历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
答案 2 :(得分:10)
这取决于“获取选择范围”的含义。如果你的意思是得到范围地址(比如“A1:B1”)那么使用Selection对象的Address属性 - 正如Michael所说的Selection对象很像Range对象,所以大多数属性和方法都在它
Sub test()
Dim myString As String
myString = Selection.Address
End Sub