获取用户选择的范围

时间:2010-11-02 18:10:20

标签: excel vba excel-vba excel-2003

如何通过用户鼠标输入选择一系列单元格以便使用VBA进行进一步处理?

3 个答案:

答案 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