2017-04-20 72 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

相關問題