Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Offset(RowOffset, ColumnOffset)

Скрытые перемещения

Я решил выделить отдельный урок, в котором будут описаны относительные команды скрытых перемещений по книге. Например каким образом возможно выполнить перемещение курсора на 3 столбца влево и на 6 строк вниз относительно активной ячейки. Это бывает очень удобно когда вы работаете с одними и теми же данными, с одинаковыми таблицами, из которых Вам надо выделить только определённые значения, скопировать их или наоборот оставить только их, а всё остальное удалить. При этом у Вас всё время выполняется одна и таже операция, которая уже надоела. Почему бы не написать готовый макрос, который будет работать и опираться на определённую ячейку таблицы - активную ячейку. Именно это я и решил собрать всё в одном уроке - Скрытые перемещения.

Относительные перемещения

Рассмотрим команду относительного перемещения, которая называется:

Offset(RowOffset, ColumnOffset)

RowOffset - это на сколько строк вверх или вниз необходимо сделать перемещение. Может принимать как положительные значения (при перемещении вниз), так и отрицательные значения (при перемещении вверх);
ColumnOffset - это на сколько столбцов влево или вправо необходимо сделать перемещение. Может принимать как положительные значения (при перемещении вправо), так и отрицательные значения (при перемещении влево);

Sub Primer() ActiveCell.Offset(0, 2).Select '1 ActiveCell.Offset(4, 0).Select '2 ActiveCell.Offset(-2, 0).Select '3 ActiveCell.Offset(0, -2).Select '4 End Sub

В первом случае курсор выделит ячеку находящуюся на 2 ячейки вправо от активной ячейки. Во втором случае выделится ячейка находящаяся на 4 строки вниз от предыдущей - активной ячейки. В третьем случае выделится ячейка находящаяся на две строки выше от предыдущей - активной ячейки. И в последнем случае выделится ячейка находящаяся на два столбца влево от предыдущей - активной ячейки.

В следующем примере показано как выделить столбец находящийся на два столбца правее от 4 столбца ("D"). Вместо цифры 4 можно использовать какую-то переменную, относительно которой уже будет происходить выполнение Вашего макроса.

Sub Primer() Columns(4).Offset(0, 2).Select End Sub

Перемещаемся по листам не зная их имён

Иногда возникает необходимость выполнить перемещение по листам, но при этом их имена постоянно меняются или Вы делаете такую программу, в которой Вы заранее не знаете имена листов, но перемещаться в ней по этим листам как-то надо. Для этого можно воспользоваться записью относительной:


Дата добавления: 2015-08-09; просмотров: 64 | Нарушение авторских прав


Читайте в этой же книге: Error. Обработка ошибок | Способ №4. Очистка ошибки | Создание собственной функции | Цифры прописью | Работа с ComboBox |
<== предыдущая страница | следующая страница ==>
Главные источники страха| Выделения относительно активной ячейки

mybiblioteka.su - 2015-2024 год. (0.008 сек.)