Шаг 67 - Движение по ячейкам

Для движения по таблице используется функция.

переменная.Offset(RowOffset, ColumnOffset)

В качестве переменных может выступать как ячейка так и диапазон (Range) удобно пользоваться этой функцией для смещения относительно текущей ячейки.

Например, смещение ввниз на одну ячейку и выделение ее:

ActiveCell.Offset(1, 0).Select

Если нужно двигаться вверх, то нужно использовать отрицательное число:

ActiveCell.Offset(-1, 0).Select

Функция ниже использует эту возможность для того, чтобы пробежаться вниз до первой пустой ячейки.

Sub beg()
	Dim a As Boolean
	Dim d As Double
	Dim c As Range
	a = True
	Set c = Range(ActiveCell.address)
	c.Select
	d = c.Value
	c.Value = d
	While (a = True)
		ActiveCell.Offset(1, 0).Select
		If (IsEmpty(ActiveCell.Value) = False) Then
			Set c = Range(ActiveCell.address)
			c.Select
			d = c.Value
			c.Value = d
		Else
			a = False
		End If
	Wend
End Sub

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.