获取用户选择的范围

问题描述 投票:0回答:4

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

vba excel excel-2003
4个回答
60
投票

Selection
在 VBA 中是它自己的对象。它的功能很像一个
Range
对象。

不过,Selection 和 Range 并不共享所有相同的属性和方法,因此为了便于使用,创建一个范围并将其设置为等于 Selection 可能是有意义的,然后您可以像任何其他范围一样以编程方式处理它。

Dim myRange as Range Set myRange = Selection

如需进一步阅读,请查看

MSDN 文章


40
投票
您可以循环选择对象以查看选择的内容。以下是来自 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
    

23
投票
这取决于您所说的“获取选择范围”的含义。如果您的意思是获取范围

address (如“A1:B1”),则使用 Selection 对象的 Address 属性 - 正如 Michael 所说,Selection 对象非常类似于 Range 对象,因此大多数属性和方法都适用于它。

Sub test() Dim myString As String myString = Selection.Address End Sub
    

0
投票
我发现了一种在我看来更容易或更简单的方法:

xx = 选择.地址

我知道我已注册,但我不记得也没有密码。所以我使用了另一个电子邮件地址。

兰道夫

© www.soinside.com 2019 - 2024. All rights reserved.