我有一个范围为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