Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 
Range.Offset (RowOffset, ColumnOffset)
Этот метод возвращает диапазон, который смещен к объекту диапазона.
Этот метод не изменяет активный диапазон (в отличие от методов Select и Activate).
Этот пример вводит число 15 в ячейку нижнюю правую от активной ячейки.
ActiveCell.Offset(1, 1).Value = 15 
Итак если
Range("B2").Offset(0,0).Address = "B2" 

Ячейка сверху

Range("B2").Offset(-1,0).Address = "B1" 
Range("B2").Offset(-1).Address = "B1" 

Ячейка снизу

Range("B2").Offset(1,0).Address = "B3" 
Range("B2").Offset(1).Address = "B3" 

Ячейка справа

Range("B2").Offset(0, 1).Address = "C2" 
Range("B2").Offset(, 1).Address = "C2" 

Ячейка слева

Range("B2").Offset(0, -1).Address = "A2" 
Range("B2").Offset(, -1).Address = "A2" 

Пример из жизни:
ActiveCell.Range("B2").Value = 15 

ПРИМЕР:


		
Sub Button1_Click()
Dim rng As Range, cell As Range
Set rng = Range("I25:I14888")
For Each cell In rng
If IsNumeric(cell.Offset(0, 0)) Then
 
Else
MsgBox "Mistake: " & cell.Row
cell.Select
End If
 
If (cell.Offset(0, 0).Value > 0.91) Or (cell.Offset(0, 0).Value < 0.2) Then
'MsgBox "Mistake: " & cell.Row & "  " & cell.Offset(0, -4).Value
cell.Offset(0, -4).Value = cell.Offset(-1, -4).Value
cell.Offset(0, -5).Value = cell.Offset(-1, -5).Value
'Exit For
End If
 
Next cell
End Sub