如何根据地址选择工作表中的单元格

时间:2017-04-20 19:48:52

标签: vba excel-vba excel

如果我有一维数组,并且数组的每个元素都带有单元格地址。

现在我想在携带这些地址的工作表中选择那些单元格  提示选择应该是所有地址的多选 像.select属性的东西  为了使用选择进行进一步的操作,例如selection.copy等等

2 个答案:

答案 0 :(得分:3)

如果您的数组位于像“arr”这样的变量中,那么您可以使用类似的东西;

dim rng as Range

set rng=Sheet1.Range(Join(arr,","))

现在 rng 会在您的数组中包含您的地址。但请记住,在这样的多个选择中,某些操作(如复制)可能无法实现。但肯定可以做一些格式化

答案 1 :(得分:2)

您将遍历数组并使用Union:

Sub foo()
Dim rng As Range
Dim arr()
Dim i As Long

arr = Array("$A$1", "$CD$5", "$F$4", "$H$8")

For i = LBound(arr) To UBound(arr)
    If i = LBound(arr) Then
        Set rng = Worksheets("Sheet1").Range(arr(i))
    Else
        Set rng = Union(Worksheets("Sheet1").Range(arr(i)), rng)
    End If
Next i

Debug.Print rng.Address(0, 0, xlA1, 1)
End Sub