假设我有这样的代码:
For Each cell1 In range_vals
For Each cell2 In range_pred
If (cell1 = cell2) Then
//Do something
End If
Next cell1
Next cell2
Run Code Online (Sandbox Code Playgroud)
但我想做的是同时迭代两个单元格范围,并且这个范围的长度,如下所示:
For Each cell1, cell2 In range_vals, range_pred
If (cell1 = cell2) Then
//Do something
End If
Next cell1, cell2
Run Code Online (Sandbox Code Playgroud)
我知道这可以在 python 中完成,但是我在 VBA 中很难做到这一点。
不要使用,而是尝试像这样For Each使用:For
Dim range_vals As Range
Dim range_pred As Range
Dim i As Integer
With Worksheets("Sheet1")
Set range_vals = .Range("A1:A10")
Set range_pred = .Range("B1:B10")
For i = 1 To range_vals.Cells.Count
If range_vals.Cells(i) = range_pred.Cells(i) Then
MsgBox "do something"
End If
Next
End With
Run Code Online (Sandbox Code Playgroud)
这将“并行”循环,比较 A1 与 B1、A2 与 B2,依此类推。
| 归档时间: |
|
| 查看次数: |
4803 次 |
| 最近记录: |