Автозаповнення за допомогою макросу - приклади коду VBA

Автозаповнення у VBA

У цій статті показано, як використовувати функцію автозаповнення у VBA.

Автозаповнення - чудовий інструмент у Excel, коли дані повторюються або є послідовними (наприклад, дні тижня, дати, місяці в році тощо). Зазвичай ми заповнюємо перші пару клітинок необхідними даними, а потім використовуємо функцію автозаповнення, щоб скопіювати необхідні дані до вибраного діапазону.

Все це можна зробити за допомогою макросу VBA.

Автозаповнення за допомогою збільшення чисел

По -перше, у нашому коді ми можемо оголосити дві змінні діапазону.

Вибір 1 - це діапазон з даними для автоматичного заповнення - наприклад, 1 і 2.

Вибір 2 - це цілий діапазон для автозаповнення, це включає перший діапазон плюс порожні місця для автозаповнення.

Потім ми використовуємо метод автозаповнення, щоб заповнити другий діапазон вибору.

123456789101112131415 Відкритий суб MyAutoFill ()'від easyexcel.net'Оголошення змінних діапазонуВибір яскравості1 Як діапазонВибір затемнення 2 Як діапазон'Змінні діапазони = їх відповідні діапазониВстановити вибір1 = Аркуш 1. Діапазон ("A1: A2")Встановити вибір2 = Аркуш 1. Діапазон ("A1: A12")'Автозаповненнявибір 1. Місце призначення автоматичного заповнення: = вибір2End Sub

Потім ми можемо запустити макрос до діапазону автозаповнення (A1: A12).

Коли ми використовуємо метод автозаповнення, ми можемо вибрати тип автозаповнення, який ми хочемо виконати. У наведеному вище прикладі ми не вказали тип автозаповнення, що означає, що використовувався тип за замовчуванням - у цьому випадку збільшуючи числа на 1 у кожному рядку.

Автозаповнення за місяцями

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

1234567891011 Публічне допоміжне автозаповненняМісяці ()'від easyexcel.net'Оголошення змінних діапазонуВибір яскравості1 Як діапазонВибір яскравості 2 як діапазон'Змінні діапазони = їх відповідні діапазониВстановити вибір1 = Аркуш 1. Діапазон ("A1: A2")Встановити вибір2 = Аркуш 1. Діапазон ("A1: A12")'Автозаповнення місяцівПризначення автозаповнення: = вибір2, Тип: = xlFillMonthsEnd Sub

Коли ми заповнюємо тип автозаповнення, нам надається декілька констант Excel на вибір. Якщо ми пропустимо це, Excel визначить тип даних для заповнення з наведених вихідних даних.

Excel може підбирати стандартні серії, такі як місяці, дні тижня та додаткові числа, проте не потрібно використовувати аргумент Тип.

Автозаповнення за допомогою xlFillCopy

Якщо ми хочемо використовувати макрос автозаповнення, щоб скопіювати інформацію до нових осередків, ми можемо використовувати константу xlFillCopy.

1234567 Загальнодоступне автозаповнення ()Dim Selection1 As RangeDim Selection2 As RangeВстановити Selection1 = Sheet1.Range ("A1: A1")Встановити Selection2 = Sheet1.Range ("A1: A12")Вибір 1. Призначення автоматичного заповнення: = Вибір2, Тип: = xlFillCopyEnd Sub

Запуск цього макросу призведе до копіювання даних у діапазоні (“A1”) до діапазону (“A1: A12”), а не до автоматичного заповнення клітинок наступними місяцями з “січня”.

Автозаповнення за допомогою xlFlashFill

Коли нам потрібно перетворити текст у стовпці в Excel, ми можемо або скористатися опцією текст у стовпці, або ми можемо скористатися опцією, яка називається Flash Fill. Це надзвичайно корисно у VBA.

Візьмемо, наприклад, такі дані:

Ми можемо набрати прізвище “Толлі” у комірці В2, а потім використати макрос, щоб заповнити решту даних Flash.

1234567 Додатковий FlashFill ()Dim Selection1 As RangeDim Selection2 As RangeВстановити вибір1 = діапазон ("B2: B2")Встановити вибір2 = діапазон ("B2: B15")Вибір 1. Місце призначення автоматичного заповнення: = Вибір2, Тип: = xlFlashFillEnd Sub

Потім ми можемо повторити це, стовпці C, D та E, щоб отримати решту даних.

1234567891011 Встановити вибір1 = діапазон ("C2: C2")Встановити вибір2 = діапазон ("C2: C15")Вибір 1. Місце призначення автоматичного заповнення: = Вибір2, Тип: = xlFlashFillВстановити вибір1 = діапазон ("D2: D2")Встановити вибір2 = діапазон ("D2: D15")Вибір 1. Місце призначення автоматичного заповнення: = Вибір2, Тип: = xlFlashFillВстановити вибір1 = діапазон ("E2: E2")Встановити вибір2 = діапазон ("E2: E15")Вибір 1. Місце призначення автоматичного заповнення: = Вибір2, Тип: = xlFlashFill

Кожен стовпець потім заповнюється відповідними даними на основі значення у рядку 2.

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

wave wave wave wave wave