2017-04-20 70 views
1

如果我有一维数组并且数组的每个元素都携带单元格地址。如何根据地址选择工作表中的单元格

现在我想在携带这些地址的工作表来选择这些细胞
提示选择应该是所有地址的多选择 喜欢的东西。选择属性
为了做到使用选择像选择进一步操作.copy等

+2

[避免选择和激活](http://stackoverflow.com/q/10714251/1188513) –

回答

2

你会遍历数组,并使用联盟:

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 
+0

如果我将这一行添加到代码rng.select将它选择工作表中的单元格? –

+1

是的,但不建议使用select,它会减慢代码。直接做你想要的范围。 –

+0

。它的作品right.thx –

3

如果阵列是像一个变量“改编”,那么你可以使用这样的事情;

dim rng as Range 

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

现在RNG已经将你的地址,你的阵列英寸但请记住,在多重选择中可能无法进行复制等操作。但肯定可以做一些格式化

+0

我试过之前,我问,但没有工作 –

+0

你能提供更多的信息。你有没有得到某种错误,你打算怎么处理这个范围。 – gr8tech

相关问题