我有一個範圍爲myRng
的形狀爲帶有1346個單元格的列向量。VBA Excel:獲取範圍對象的一部分
我想選擇的myRng
第一100
細胞和執行For each
操作:
Dim cell As Range
For each cell in myRng(1:100)
'Do something
Next cell
什麼是對myRng(1:100)
得到這個操作工作一個適當的選擇嗎?
我有一個範圍爲myRng
的形狀爲帶有1346個單元格的列向量。VBA Excel:獲取範圍對象的一部分
我想選擇的myRng
第一100
細胞和執行For each
操作:
Dim cell As Range
For each cell in myRng(1:100)
'Do something
Next cell
什麼是對myRng(1:100)
得到這個操作工作一個適當的選擇嗎?
Range屬性接受一個開始和結束單元格來限制它,所以你可以使用它。
你的情況,你會寫這樣的:
For Each cell In myRng.Range(myRng(1), myRng(100))
' Do something
Next
如果myRng是一列中,ssarabando的正常工作。更一般的方法是,如果myRng具有多個維度,則可以合併「偏移」和「調整大小」,或顯式聲明該列。例如:
Sub foo()
Dim rg As Range
Set rg = Range("a1:b1000")
Debug.Print Range(rg(1), rg(100)).Address '-->$A$1:$B$50
Debug.Print rg.Columns(1).Resize(rowsize:=100).Address '$A$1:$A$100
Debug.Print rg.Columns(2).Resize(rowsize:=100).Address '$B$1:$B$100
Debug.Print rg(, 1).Resize(rowsize:=100).Address '$A$1:$A$100
Debug.Print rg(, 2).Resize(rowsize:=100).Address '$B$1:$B$100
End Sub