VBA 如何使用 .Selection 获得多项选择

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

我一直没能找到有用的解决方案。也许这里有人可能知道答案。我的宏要求用户拥有源单元格和目标单元格。为此,选择源,然后按住 ctrl 并单击另一个单元格。这会创建多个选择,我似乎无法同时访问它们。当我使用选择范围时,我只有范围中的第一个单元格。是否有另一个选择范围,或者我怎样才能得到第二个单元格?有人知道吗?

vba excel vb6
2个回答
2
投票

你需要的是参考

Areas collection of Selection
。它会这样:

'for first cell:
Selection.Areas(1).Address
'for second cell:
Selection.Areas(2).Address

两者都会返回单元格的地址,但您可以相应地更改它。


0
投票

我喜欢根据用户的“未知选择”将代码添加到我的库中。为相同结果的多个实例编写类似代码节省了大量时间。

它可以是单个单元格,一行中的一些单元格或一整行或多行,一列中的一些单元格或一列或多列整列,单元格块,“.UsedRange”或任何混合的多个组合或全部...或者当然是整个工作表、多个工作表或整个工作簿

这个简单的例子增加了用户选择的任何和每个单元格的内容...

Public Sub IncrementByOne()

     Dim ThisCell As Range _
       , ThisArea As Integer
     
     For ThisArea = 1 To Selection.Areas.Count
          For Each ThisCell In Selection.Areas(ThisArea)
               ThisCell.Value2 = ThisCell.Value2 + 1
          Next ThisCell
     Next ThisArea

End Sub

伊恩

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