2008-12-22 29 views

回答

3

不確定你的意思。你想從底部到頂部,而不是從頂部到底部?

這應該這樣做:

Dim myrange As Range 
Set myrange = Range("B3:E10") 

Dim row As Integer, col As Integer 
For row = myrange.Rows.Count To 1 Step -1 
    For col = myrange.Columns.Count To 1 Step -1 
     Debug.Print myrange(row, col).Value 
    Next col 
Next row 
1

如果你有超過幾格的範圍內工作,並不需要修改的細胞,始終考慮拉動值到一個數組中,並與工作:代碼和工作表之間的交互相對(非常)昂貴。如果你使用的是.NET程序集,那麼這個數字就會增加一倍(也許是三倍,也許會更多),因爲在往返過程中還需要多個步驟。

在VBA中,這樣的事情:

Dim vals As Variant 
Dim row As Long, col As Long 

vals = Range("A1:Z100") ' or whatever 
For col = UBound(vals,2) To LBound(vals,2) Step -1 
    For row = UBound(vals) To LBound(vals) Step -1 
     DoSomethingInterestingWith vals(row, col) 
    Next 
Next 
相關問題