2015-04-02 86 views
1

我將一系列單元格加載到一個變體中,以便儘可能快地遍歷單元格。將單元格加載到變體中後,如何返回地址?

但是,當一個單元格有一定的值時,我想用offset方法在單元格旁邊的字段中寫入內容。

我可以這樣做嗎?有什麼方法可以訪問我的單元格在我的變體數組中時的地址屬性?

+0

簡答:沒有。 – 2015-04-02 11:12:49

回答

4

我猜你想要做的東西沿着這些路線:

Sub varOutput() 

Dim v As Variant 
Dim i As Long 

v = Sheet1.Range("A1:B3") 
For i = 1 To 3 
    If v(i, 1) = "a" Then v(i, 2) = "y" 
Next i 
Sheet1.Range("A1:B3") = v 

End Sub 

寫你的射程到一個變量在內存中創建值的數組,所以你不能使用偏移,因爲沒有一個在您的工作表上提及的地址。上面的代碼所做的是將要檢查的範圍和要輸出的範圍寫入2維數組,並將任何輸出值寫入數組。一旦完成,它將整個陣列輸出回相同的範圍。

+0

我使用了不同的方法,但你的看起來更甜。例如,當我使用'Range(「A3:A10」)時,我用'For For = 1到8'來遍歷範圍。然後,我使用'i'並添加2以獲得正確的行。然後我使用偏移量等。 – 2015-04-02 10:59:18

+0

將範圍分配給變體時,它總是被視爲二維數組。最左邊的索引是行,最右邊的索引是列。索引從1開始(始終),結束於'Ubound(v,1)'行,'Ubound(v,2)'結束於列。請參閱這裏的優秀文章:http://www.cpearson.com/excel/ArraysAndRanges.aspx – user1016274 2015-04-02 13:26:51

相關問題