我正在尝试修改我的代码以允许在运行循环时考虑更多因素。这是我到目前为止所拥有的,它是一个循环运行 i = 2 到 605(因为在 2 到 605 之间,我的 G 列的值始终是相同的“马卡蒂市”)。
对于这个循环,我定义了一些动作并且运行良好。这是显示我的循环在做什么的相关代码:
For i = 2 To lRowBldg
Range("B" & i).Activate
'try to find a match btwn active cell and one of the elements from parsed address
For Each cell In elementsListRange.Cells
If Match(ActiveCell.Value, cell.Value) Then
Range("K" & i).Value = Range("K" & i).Value + 13
Else
Range("K" & i).Value = Range("K" & i).Value + 0
End If
If Match(ActiveCell.Offset(0, 4).Value, cell.Value) Then
Range("K" & i).Value = Range("K" & i).Value + 8
Else
Range("K" & i).Value = Range("K" & i).Value + 0
End If
Next
Next i
但由于我计划对这个文件进行一些修改,我需要重新考虑我的代码。到目前为止,我只有一个城市的这个文件,所以基本上我可以从第一个值循环到最后一个值,这没关系。现在,我计划添加更多城市:例如,从 2 到 605(马卡蒂市)、从 606 到 900(布拉布拉市)、从 901 到……等等。
我尝试做的是这样的:
“只要 G 列中单元格的值等于 XXXXX(可能是马卡蒂市,可能是 blabla 市,无论如何),就循环”
如果我提到马卡蒂市,它将循环 i = 2 到 605,如果是 blabla City,则循环 i = 606 到 900,依此类推。
您是否知道如何以不会太消耗资源的方式执行此操作,因为我的文件最终可能会很长?
提前非常感谢!