[英]Using more than two ranges in a VBA For loop
因此,我尝试使用For循环在Excel中的三个单独列中进行操作。
Sub dostuff()
Dim lRw As Long, C As Range
' Get number of active rows by finding last row index.
lRw = Range("A" & Rows.Count).End(xlUp).Row
For Each C In Range("B1:B" & lRw, "H1:H" & lRw)
' stuff happens
Next
End Sub
当我仅如上所述指定一个或两个列范围时,这很好用,但是当我尝试添加第三个列范围时,它失败了:
For Each C In Range("B1:B" & lRw, "H1:H" & lRw, "M1:M" & lRw)
有没有办法遍历三列(或更多列)而不是两列?
在循环之前,只需做一个联合以合并您的范围
Dim loopRange as Range
Set loopRange = Union(Range("B1:B" & lRw),Range("H1:H" & lRw),Range("M1:M" & lRw))
For Each C In loopRange
'stuff
Next C
Sub Tester()
Dim c As Range, lRw As Long
lRw = 5
For Each c In Range("B1:B" & lRw & ",H1:H" & lRw & ",M1:M" & lRw).Cells
Debug.Print c.Address(False, False)
Next c
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.