[英]VBA For Each loop several ranges
VBA初学者在这里。
我有3个要运行的动态命名范围,每个都有相同数量的条目。 目前,我正在逐个循环:
For Each M in worksheets(x).Range("Range1")
For Each N in worksheets(x).Range("Range2")
For Each O in worksheets(x).Range("Range3")
IF ( Depends on M) Then
(Does things to ranges N and O)
End IF
Next
Next
Next
但是这些值中的每个值都是匹配的,因此其中的大多数都是不必要的-最多循环80 ^ 3次,而实际上数据之间的匹配仅需要80次。
因此,我希望一个循环遍历Range1中的所有M(例如),并以相同的速率遍历Range 2和3中的行:因此,它将考虑M(1),N(1), O(1),然后一直到M(2),N(2),O(2)等,直到它碰到Range1中的一个空单元格(末端-它的动态),这时应该停。
我希望这是有道理的。
您将必须以某种方式将M的信息链接到N和O的范围。从您的代码中,不清楚如何链接这些信息,但是如果行相同,则可以执行以下操作:
For Each M in worksheets(x).Range("Range1")
IF ( Depends on M) Then
Do something to RangeN.Rows(M.row)
Do something to RangeO.Rows(M.row)
End IF
Next
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.