Зміщення Activecell VBA

Цей підручник покаже, як використовувати зміщення Activecell у VBA.

ActiveCell - це властивість VBA, яка представляє адресу комірки активної комірки на вашому аркуші. Якщо вказівник миші розташований у клітинці A1, властивість ActiveCell у VBA поверне адресу комірки “A1”. Це ряд властивостей і методів, які пов'язані з ActiveCell. У цій статті ми зосереджуємось на методі ActiveCell.Offset.

Властивості та методи ActiveCell.Offset

Activecell.Offset має ряд властивостей і методів, доступних для програмування за допомогою VBA. Щоб переглянути доступні властивості та методи, введіть наступний вираз у процедурі, як показано нижче, і натисніть клавішу крапки на клавіатурі, щоб побачити випадаючий список.

Методи зображуються зеленою піктограмою методу, а властивості - значком маленької руки. Властивості та методи для методу Activecell.Offset такі ж, як і для методу Activecell.

Синтаксис ActiveCell.Offset

Синтаксис Activecell.Offset виглядає наступним чином

де RowOffset та ColumnOffset - це кількість рядків для зміщення (позитивні числа для зменшення, від’ємне число для збільшення) або кількість стовпців, які ви бажаєте змістити (позитивні числа зміщуються праворуч, від’ємне число ліворуч).

ActiveCell.Offset… Виберіть

The Activecell.Offset… Виберіть метод є найбільш часто використовуваним методом для методу Activecell.Offset. Це дозволяє перейти до іншої клітинки на вашому аркуші. Ви можете використовувати цей метод для переміщення по стовпцях або вгору або вниз рядків на своєму аркуші.

Щоб рухатися вниз по рядку, але залишатися в одному стовпці:

1 Activecell.Offset (1,0) .Виберіть

Щоб переміщатися по стовпцю, але залишатися в одному рядку:

1 Activecell.Offset (0,1) .Виберіть

Щоб переміститися вниз по рядку та по стовпцю:

1 Activecell.Offset (1,1) .Виберіть

Щоб перемістити рядок вгору:

1 Activecell.Offset (-1,0) .Виберіть

Щоб перемістити стовпець ліворуч:

1 Activecell.Offset (0, -1) .Виберіть

У наведеній нижче процедурі ми прокручуємо діапазон клітинок і рухаємося вниз по одному рядку та по одному стовпцю під час циклу:

12345678 Sub ActiveCellTest ()Dim x як ціле числоДіапазон ("A1"). ВиберітьДля x = 1-10ActiveCell = xActiveCell.Offset (1, 1) .ВиберітьДалі xEnd Sub

Результат цього показаний на графіку нижче:

Цикл додає значення i (1-10) до Activecell, а потім він використовує Activecell.Offset властивість переміщатися вниз на один рядок і через один стовпець праворуч - повторюючи цей цикл 10 разів.

Програмування VBA | Генератор коду працює для вас!

Використання Range Object з Activecell.Offset Select

Використання об’єкта діапазону з активною клітинкою іноді може збентежити деяких людей.

Розглянемо таку процедуру:

1234 Sub ActiveCellOffsetRange ()Діапазон ("B1: B10"). ВиберітьActiveCell.Offset (1, 1) .Range ("A1"). ВиберітьEnd Sub

Зі зміщенням ActiveCell.Offset (1,1.Range (“A1”)) був визначений діапазон (“A1”). Однак це не означає, що клітинка A1 на аркуші буде вибрана. Як ми вказали діапазон ("B1: B10"), клітинка A1 у цьому діапазоні насправді є коміркою B1 у книзі. Тому комірка буде зміщена на 1 рядок і 1 стовпець від комірка В1 НЕ з комірки А1.

Тому діапазон (“A1 ′”) у цьому випадку не потрібен, оскільки макрос буде працювати так само з ним або без нього.

Альтернативи ActiveCell

Замість того, щоб використовувати Activecell з методом Offset, ми також можемо використовувати об'єкт Range з методом Offset.

123 Sub RangeOffset ()Діапазон ("B1"). Зсув (0, 1) .ВиберітьEnd Sub

Вищеописана процедура виділить клітинку С1 на робочому аркуші.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave