Автозаповнення формули до останнього рядка в Excel VBA (5 прикладів)

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

Якщо ви працюєте з Microsoft Excel деякий час, ви знаєте важливість автозаповнення. Для того, щоб скопіювати формулу через рядок або стовпець, ми використовуємо цей метод. Тепер, ми можемо використовувати це вручну за допомогою миші. Але, якщо у вас великий рядок з даними, буде важко скопіювати будь-яку формулу в останній рядок або стовпець. Ви можете використовувати код VBA для автозаповнення формули в останній рядок або стовпець за допомогоюлегкість.

У цьому підручнику ви навчитеся автоматично заповнювати формулу до останнього рядка в Excel за допомогою кодів VBA. Цей підручник буде на місці з відповідними прикладами та належними ілюстраціями. Отже, залишайтеся з нами.

Завантажити Практичний посібник

Формула автозаповнення до останнього рядка.xlsm

Що таке автозаповнення в Excel?

Отже, автозаповнення - це вбудована функція Microsoft Excel, яка дозволяє користувачам автоматично заповнювати решту рядків або стовпців значеннями, форматами або формулами. Ви можете ідентифікувати його, коли ви підводите курсор до правого нижнього кута будь-якої комірки. Ми називаємо його обробником автозаповнення Excel.

Погляньте на наступний скріншот:

Тут ви бачите два числа. Решту рядків заповнимо за допомогою автозаповнення в Excel.

Спочатку виділіть діапазон комірок В5:В6, після чого в правому нижньому куті з'явиться ручка автозаповнення.

Тепер потягніть цю ручку автозаповнення вниз.

Як бачите, Excel автоматично заповнив решту комірок. Це і є основне використання автозаповнення в Excel.

Як використовувати автозаповнення в Excel VBA

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

Загальний синтаксис:

Діапазон.автозаповнення Призначення, тип

Ось,

Range("B5"): Клітинка, яка має основний візерунок, заповнюється рештою ряду.

Пункт призначення: Діапазон комірок, які потрібно заповнити рядами візерунків.

Введіть як xlAutoFillType: Тип заповнення серії. Існують різні типи автозаповнення, які ви можете вибрати.

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

4 Види автозаповнення в Excel VBA

У цьому розділі я розгляну деякі з видів автозаповнення. Ми вже бачили, що можемо вибрати будь-який вид автозаповнення за допомогою кнопки xlAutoFillType. Ось, я показую вам деякі приклади цього.

1. xlFillDefault

Такий тип автозаповнення ми вже бачили в попередньому прикладі.

Подивіться на скріншот:

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

 Sub xlDefault_type() Range("B5:B6").AutoFill Призначення:=Range("B5:B11"), Type:=xlFillDefault End Sub 

Тепер запустіть макрос VBA і після цього ви побачите наступне:

Решта комірок автоматично заповнюється за допомогою макросу VBA.

2. xlFillCopy

Для копіювання однакових значень можна використовувати тип xlFillCopy в режимі автозаповнення.

Подивіться на скріншот:

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

 Sub xlFillCopy_type() Range("B5:B6").AutoFill Призначення:=Range("B5:B11"), Type:=xlFillCopy End Sub 

Тепер запустіть макрос VBA і після цього ви побачите наступне:

Excel заповнює решту комірок однаковими значеннями.

3. xlFillMonths

Ви також можете заповнити місяці за допомогою xlFillMonths тип автозаповнення.

Подивіться на скріншот:

Тут ми увійшли в два місяці - січень і лютий.

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

 Sub xlFillMonths_type() Range("B5:B6").AutoFill Призначення:=Range("B5:B11"), Type:=xlFillMonths End Sub 

Тепер запустіть макрос VBA і після цього ви побачите наступне:

Excel автоматично розуміє шаблони і заповнює їх.

4. xlFillFormats

Копіювати формати в інші комірки можна також за допомогою автозаповнення VBA. Для цього потрібно скористатися командою xlФормати заповнення тип автозаповнення.

Подивіться на скріншот:

Тут ми заповнили дві клітинки деякими кольорами.

Тепер введіть наступний код VBA для автозаповнення решти комірок:

 Sub xlFillFormats_type() Range("B5:B6").AutoFill Призначення:=Range("B5:B11"), Type:=xlFillFormats End Sub 

Тепер запустіть макрос VBA і після цього ви побачите наступне:

Як бачимо, наш макрос VBA використовує автозаповнення для ефективного заповнення рядків стовпця B.

Читати далі: Як автозаповнення місяців в Excel

5 прикладів з автозаповненням формули до останнього рядка в Excel VBA

1. VBA для автозаповнення формули до останнього використаного рядка

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

Погляньте на наступний набір даних:

Тут у нас є набір даних про продажі деяких продавців. Наша мета - додати продажі за січень і лютий в стовпець Всього. Після цього ми скористаємося методом автозаповнення за допомогою VBA до останнього використовуваного рядка в Excel.

Для цього введіть наступний код:

 Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Призначення:=Range("E5:E" & last_row) End Sub 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Вона повертає останній використаний рядок зі стовпчика B. Ви можете вибрати будь-який стовпчик з вашого набору даних.

Range("E5").Formula = "=SUM(C5:D5)": Ми додаємо продажі Комірка C5 і D5.

Діапазон("E5").Автозаповнення Призначення:=Діапазон("E5:E" & останній_рядок): Після отримання результату використовуємо автозаповнення, яке починається з Клітинка E5 до останнього використаного рядка, який ми отримали раніше.

Тепер запустимо макрос VBA, після чого побачимо наступний результат:

Як бачимо, наш VBA-код додає перший результат і автозаповнення формули в останній рядок в Excel.

Читати далі: Як заповнити даними останній рядок в Excel

2. автозаповнення VBA з активної комірки в останній рядок

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

Аналогічно до попереднього прикладу, ми використовуємо попередній набір даних:

Тепер додамо продажі січня і лютого і автозаповнення формули в останній рядок за допомогою Excel VBA.

Тепер введіть наступний код:

 Sub autofill_active_cell() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row ActiveCell.Formula = "=SUM(C5:D5)" ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row) End Sub 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Вона повертає останній використаний рядок зі стовпчика B. Ви можете вибрати будь-який стовпчик з вашого набору даних.

ActiveCell.Formula = "=SUM(C5:D5)": Ми додаємо продажі Комірка C5 і D5 у вибраній комірці.

Автозаповнення Призначення:=Діапазон(Активна_комірка.Адреса & ":E" & останній_рядок): Після отримання результату використовуємо автозаповнення, яке починає автоматичне заповнення від активної комірки до останнього використаного рядка, який ми отримали раніше.

Тепер виберіть Клітинка E5 .

Після цього запустити макрос VBA для додавання формули і автозаповнення в останній рядок.

Як бачимо, ми успішно використали макрос VBA для автозаповнення формули до останнього рядка.

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

  • Як повторити рядки задану кількість разів в Excel (4 способи)
  • Автоматична нумерація рядків в Excel (8 способів)
  • Як заповнити стовпець в Excel однаковим значенням (9 хитрощів)
  • Застосування ярлика автозаповнення в Excel (7 способів)

3. автозаповнення до останнього рядка з використанням динамічного діапазону в Excel VBA

Раніше ми показували кілька макросів VBA для автозаповнення до останнього рядка в Excel. Так ось, в тих прикладах ми вже використовували динамічні діапазони.

Для розуміння статичних діапазонів подивіться на наступний код:

 Sub last_used_row() Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E11") End Sub 

Ми в основному сказали Excel ввести формулу в Клітинка E5 і автоматично заповнити його з Клітинка E5 до Комірка Е11 Тут ми вказали діапазон, а якщо ви додасте ще рядки? В такому випадку наш VBA не буде автоматично заповнювати ці додаткові рядки, тому що ми вже вказали йому автозаповнення певного діапазону.

Для вирішення цієї проблеми я придумав рішення, яке може приймати динамічний діапазон:

 Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Призначення:=Range("E5:E" & last_row) End Sub 

Як бачимо, спочатку ми знаходимо останній рядок за цим рядком коду:

 last_row = Cells(Rows.Count, 2).End(xlUp).Row 

Після цього виконуємо автозаповнення до останнього рядка з використанням динамічного діапазону:

 Діапазон("E5").Автозаповнення Призначення:=Діапазон("E5:E" & останній_рядок) 

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

Динамічний діапазон в основному означає, що вам не потрібно вводити діапазон вручну. Excel буде оновлювати його час від часу.

Читати далі: Excel VBA: метод автозаповнення класу діапазону завершився невдачею

4. автозаповнення останнього стовпця в Excel за допомогою VBA

Якщо ви прочитали попередні розділи про автозаповнення до останнього рядка, то ви можете легко автозаповнити до останнього стовпця. Вам потрібно лише знайти номер останнього стовпця та автозаповнити його за допомогою Excel VBA.

Погляньте на наступний набір даних:

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

Тепер введіть наступний код:

 Sub last_used_column() Dim last_row As Long last_column = Cells(6, Columns.Count).End(xlToLeft).Column Range("D9").Formula = "=SUM(D6:D8)" Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)) End Sub 

останній_стовпець = Cells(6, Columns.Count).End(xlToLeft).Column: Вона повертає останній використаний стовпець з рядка 6. Ви можете вибрати будь-який рядок, щоб почати з вашого набору даних.

Range("D9").Formula = "=SUM(D6:D8)": Додамо витрати на три місяці (січень, лютий, березень).

Діапазон("D9").Автозаповнення Призначення:=Діапазон("D9", Cells(9, останній_стовпець)): Після отримання результату використовуємо автозаповнення. Тут наш основний рядок - це Рядок №9. Всі наші дані будуть знаходитися в цьому рядку. Починається автозаповнення з стовпчика D до останнього використаного стовпчика, який ми отримали раніше за допомогою останній_стовпець .

Після запуску макросу ви побачите наступний вивід:

Як бачите, ми успішно використали VBA для автозаповнення формули до останнього стовпчика в Excel.

Читати далі: Як автозаповнення стовпця в Excel

5. Автоматичне заповнення послідовних чисел до останнього рядка в Excel за допомогою VBA

Також можна автоматично заповнювати порядкові номери за допомогою автозаповнення в VBA. Тут потрібно використовувати xlFillSeries Excel зрозуміє шаблон і заповнить їх саме ним.

Погляньте на наступний скріншот:

Ось, у нас є кілька імен. І ми хочемо послідовно присвоїти їм ідентифікатор. Для цього ми скористаємося автозаповненням VBA.

Автозаповнення послідовних номерів зі статичним діапазоном:

 Sub sequential_number_2() Range("C5").AutoFill Призначення:=Range("C5:C11"), Type:=xlFillSeries End Sub 

Після запуску коду на виконання ви побачите результат:

Якщо ви хочете використовувати динамічний діапазон, то використовуйте наступний код:

 Sub sequential_number_1() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("C5").AutoFill Призначення:=Range("C5:C" & last_row), Type:=xlFillSeries End Sub 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Повертає останній використаний рядок зі стовпчика B.

Діапазон("C5").Автозаповнення Призначення:=Діапазон("C5:C" & останній_рядок), Тип:=xlЗаповнитиСерію: Для цього необхідно мати при собі документ, що посвідчує особу Комірка C5 та автозаповнення до останнього використаного рядка у стовпчику C за допомогою xlFillSeries ,

В обох випадках ви отримаєте однаковий результат:

Як бачимо, ми успішно використали код на VBA для автозаповнення порядкових номерів в Excel.

Читати далі: Формули Excel для заповнення номерів послідовностей пропускають приховані рядки

💬 Що варто пам'ятати

Ви можете зупинити автозаповнення різними способами, якщо ви цього не хочете .

Не можна автозаповнювати кілька рядків і стовпців одночасно. Робіть це по черзі.

Висновок

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

Не забувайте слідкувати за новинами на нашому сайті Exceldemy.com для вирішення різних проблем, пов'язаних з Excel, та їх вирішення.

Вчіться новим методам і продовжуйте розвиватися!

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