Як використовувати зміщення діапазону в VBA (11 способів)

  • Поділитися Цим
Hugh West

Якщо ви шукаєте найпростіші способи використання VBA Range Offset, то ця стаття буде для вас корисною. Почнемо з способів використання VBA Зміщення діапазону.

Завантажити Робочий зошит

VBA Зміщення діапазону.xlsm

11 Способи використання зміщення діапазону в VBA

У мене є наступна таблиця даних, що містить інформацію про деяких студентів коледжу. Використовуючи цей набір даних, я поясню способи використання методу VBA Зміщення діапазону.

Для цього я використовував Microsoft Excel 365 ви можете використовувати будь-які інші версії на свій розсуд.

Спосіб-1: Виділення комірки за допомогою діапазону VBA

Тут ми виділимо комірку, що містить назву Даніель Дефо. Для цього ми будемо використовувати Функція RANGE в VBA .

Крок-01 :

Перейдіть до Розробник Вкладка>>; Visual Basic Варіант

Після цього, на засіданні Редактор Visual Basic відкриється.

Перейдіть до Вставка Вкладка>>; Модуль Варіант

Після цього було проведено Модуль буде створено.

Крок-02 :

Напишіть наступний код

 Sub SelectCell() Range("B8").Select End Sub 

Буде виділена комірка B8 .

Натисніть F5

Результат :

Таким чином, ви отримаєте комірку, що містить Даніель Дефо обраний.

Читати далі: Як використовувати об'єкт діапазону VBA в Excel

Спосіб-2: Виділення групи суміжних комірок за допомогою діапазону VBA

Можна виділити діапазон суміжних комірок, наприклад Ім'я студента та стовпчик Результат у колонці нижче наведеної таблиці, дотримуючись цього методу.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub ContiguousCells() Range("B5:C10").Select End Sub 

Він виділить комірки з B5 до C10 .

Натисніть F5

Результат :

Після цього ви отримаєте комірки в Колонка Б і Колонка C обраний.

Спосіб 3: Виділення групи несуміжних комірок за допомогою діапазону VBA

Припустимо, ви хочете вибрати студентів з іменами Вільям Девід і Майкл Ентоні включаючи їх відповідні Email Id Для виділення цих неконгруентних комірок можна скористатися наступним методом.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub 

При цьому будуть виділені комірки B6 , D6 , B9, і D9 .

Натисніть F5

Результат :

Після цього ви отримаєте комірки з прізвищем студента Вільям Девід , Майкл Ентоні, та їхні відповідні Email Id обраний.

Спосіб 4: Виділення групи несуміжних комірок і діапазону за допомогою VBA Range

За допомогою цього методу можна виділити діапазон клітинок і деякі несуміжні клітинки одночасно.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub 

Буде виділено діапазон клітинок в діапазоні B5:B10 а дві інші камери D6 , D10 .

Натисніть F5

Результат :

Після цього ви отримаєте комірки у стовпчику Ім'я студента і два Ідентифікатори електронної пошти для Вільям Девід і Дональд Пол обраний.

Спосіб 5: Виділення діапазону за допомогою зміщення діапазону VBA

Ви можете виділити діапазон комірок у вікні Колонка ПІБ студента за допомогою програми Функція OFFSET .

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub 

Спочатку, Range("A1:A6") вибере діапазон A1:A6 а потім Offset(4, 1) перемістить комірку на 4 рядки вниз від комірки A1 і 1 стовпчик праворуч. Після цього рівну кількість комірок діапазону A1:A6 буде відібрано звідси.

Натисніть F5

Результат :

Таким чином, ви виберете колонку Ім'я студента .

Спосіб 6: Від'ємне зміщення діапазону VBA

Ви можете вибрати Колонка Email Id за цим методом.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub 

Спочатку, Range("F11:F16") вибере діапазон F11:F16 а потім Зміщення(-6, -2) перемістить комірку на 6 рядків вгору від комірки F11 і 2 стовпчики ліворуч. Після цього рівну кількість комірок в діапазоні F11:F16 буде відібрано звідси.

Натисніть F5

Результат :

Після цього ви зможете вибрати колонку Email Id .

Схожі читання:

  • VBA для кожної комірки діапазону в Excel (3 способи)
  • Як порахувати текст в Excel (7 простих прийомів)

Спосіб 7: Вибір діапазону відносно активної комірки

Тут ми маємо активну комірку (комірка A1 ) і по відношенню до цієї комірки виділимо діапазон даних в даному методі.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub 

Ось, activecell це A1

Перша частина activecell.Offset(4, 1) виділить комірку на 4 рядки вниз і на 1 стовпець праворуч від комірки A1 і друга частина activecell.Offset(9, 3) виділить комірку на 9 рядків вниз і на 3 стовпчики праворуч від комірки A1 .

Нарешті, будуть виділені всі клітинки між цими двома клітинками.

Натисніть F5

Результат :

Після цього ви зможете вибрати весь діапазон даних.

Спосіб 8: Копіювання діапазону

Якщо потрібно скопіювати діапазон комірок, то можна скористатися таким способом.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub 

Спочатку, Range("A1:A6") виділить діапазон A1:A6 а потім Offset(4, 1) перемістить комірку на 4 рядки вниз від комірки A1 і 1 стовпчик праворуч. Після цього рівну кількість комірок діапазону A1:A6 буде відібрано звідси.

Нарешті, він скопіює значення в діапазоні B5:B10 .

Натисніть F5

Результат :

Після цього ви зможете скопіювати діапазон даних в Колонка ПІБ студента .

Спосіб 9: Видалення діапазону

Тут ми покажемо спосіб видалення діапазону даних за допомогою VBA код.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub 

По-перше, Range("F11:F17") вибере діапазон F11:F17 а потім Зміщення(-7, -2) перемістить комірку на 7 рядків вгору від комірки F11 і 2 стовпчики ліворуч. Після цього рівну кількість комірок в діапазоні F11:F17 буде відібрано звідси.

Нарешті, він видалить діапазон D4:D10 .

Натисніть F5

Результат :

Таким чином, ви скопіюєте діапазон даних в Колонка Email Id .

Спосіб 10: Використання зміщення діапазону VBA для введення значення

Тут у нас є порожня комірка (ми видалили значення в цій комірці для пояснення цього методу) в таблиці Колонка ПІБ студента і ми хочемо наповнити його ім'ям Джозеф Майкл За допомогою VBA ми можемо легко ввести це значення.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub 

По-перше, Range("A1") виділить комірку A1 а потім Offset(6, 1) перемістить комірку на 6 рядків вниз від комірки A1 і 1 стовпчик праворуч. Після цього комірка B7 буде обрано і, нарешті, буде введено значення "Джозеф Майкл" в цій камері.

Натисніть F5

Результат :

Таким чином, ви отримаєте назву Джозеф Майкл в камері B7 .

Метод-11: Використання зміщення діапазону VBA для отримання результатів

Припустимо, ви хочете написати Прийнято або Не вдалося відповісти на прізвища студентів в залежності від успішності. Стовпчик результатів де Перепустка або Провал було записано в дужках. Щоб знайти цей підрядок в рядку Стовпчик результатів і запишіть це в Колонка "Зараховано/Незараховано дотримуйтесь цього методу.

Крок-01 :

➤Перейдіть за посиланням Крок-01 з Спосіб-1

 Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(value.cell, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub 

Тут діапазон осередків C5:C10 обирається Range("C5:C10") який є Стовпчик результатів

InStr(cell. value, "Pass")> 0 це умова, при якій число більше нуля (коли комірка містить "Пас" ), то наступний рядок продовжиться і дасть вивід у сусідній комірці у вигляді Прийнято Тут сусідня комірка буде виділена за допомогою cell.Offset(0, 1) це означає, що він переміститься на 1 стовпчик праворуч від вхідної комірки.

Якщо умова стає хибною, це означає, що комірка не містить жодної "Пас" то лінія під Інакше виконається і видасть вихідне значення в сусідній комірці у вигляді Не вдалося .

Цей цикл буде продовжуватися для кожної комірки.

Натисніть F5

Результат :

Тоді, ви отримаєте результати Склав або не склав в Залік/незалік колонка.

Практична секція

Для самостійного проходження практики ми надали Практика розділ, як показано нижче, на аркуші з назвою Практика Будь ласка, зробіть це самі.

Висновок

У цій статті я постарався висвітлити найпростіші способи використання VBA Сподіваємось, він стане вам у нагоді. Якщо у вас є пропозиції чи запитання, не соромтеся ділитися ними з нами.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.