Одновременное выполнение двух диапазонов невозможно.
Однако доступ к Row
и Column
в Range
может быть весьма полезным, поскольку они основаны на диапазоне, а не на рабочем листе. Таким образом, первый столбец первой ячейки Range("C5:C10")
всегда является столбцом 1
. Первый ряд - это строка 1
. И первая ячейка этого диапазона может быть доступна следующим образом:
Debug.Orint Range("C5:C10").Cells(1,1).Address
с печатью $C$5
. Обладая этими знаниями, можно пройти через один диапазон и получить доступ к ячейкам другого:
Public Sub TestMe()
Dim myRangeA As Range
Dim myRangeB As Range
With Worksheets(1)
Set myRangeA = .Range("A1:A5")
Set myRangeB = .Range("B21:B25")
End With
Dim myCellA As Range
Dim myCellB As Range
For Each myCellA In myRangeA
Set myCellB = myRangeB.Cells(myCellA.Row, myCellA.Column)
Debug.Print myCellA.Address
Debug.Print myCellB.Address
Next myCellA
End Sub
Использование Offset()
, когда это возможно, является лучшим решением - If myCell = myCell.Offset(0,1) Then
.