AutoFill Formula do ostatniego wiersza z Excel VBA (5 przykładów)

  • Udostępnij To
Hugh West

Jeśli pracujesz z Microsoft Excel przez jakiś czas, wiesz, jak ważne jest AutoFill. Aby skopiować formułę w całym wierszu lub kolumnie, używamy tej metody. Teraz możemy użyć tego ręcznie za pomocą myszy. Ale jeśli masz duży wiersz z danymi, trudno będzie skopiować formułę do ostatniego wiersza lub kolumny. Możesz użyć kodu VBA do AutoFill formuły do ostatniego wiersza lub kolumny złatwość.

W tym tutorialu nauczysz się autouzupełniania formuły do ostatniego wiersza w Excelu za pomocą kodów VBA. Ten tutorial będzie w punkcie z odpowiednimi przykładami i właściwymi ilustracjami, więc zostań z nami.

Pobierz Zeszyt ćwiczeń

Autowypełnianie formuły do ostatniego wiersza.xlsm

Czym jest autouzupełnianie w programie Excel?

Teraz autouzupełnianie jest wbudowaną funkcją programu Microsoft Excel, która pozwala użytkownikom automatycznie wypełnić resztę wierszy lub kolumn wartościami, formatami lub formułami. Możesz go zidentyfikować, gdy weźmiesz kursor do prawego dolnego rogu dowolnej komórki. Nazywamy go handlerem autouzupełniania programu Excel.

Spójrz na poniższy zrzut ekranu:

Tutaj widać dwie liczby, resztę wierszy wypełnimy korzystając z autouzupełniania w Excelu.

Najpierw zaznacz zakres komórek B5:B6, po czym w prawym dolnym rogu zobaczysz uchwyt autouzupełniania.

Teraz przeciągnij ten uchwyt autouzupełniania w dół.

Jak widać, Excel automatycznie wypełnił resztę komórek. To jest podstawowe wykorzystanie autouzupełniania w Excelu.

Jak korzystać z funkcji autouzupełniania w programie Excel VBA

Jeśli masz dużą liczbę wierszy lub kolumn w danym zakresie, musisz przeciągnąć uchwyt autouzupełniania do ostatniego wiersza lub kolumny. Jest to bardzo gorączkowy proces. Na szczęście możesz go zminimalizować za pomocą kodów VBA w programie Excel. Możesz użyć kodu VBA do autouzupełniania komórek wartościami, formułami lub formatami.

The Generic Syntax:

Range.AutoFill Miejsce docelowe, Typ

Tutaj,

Range("B5"): Komórka, która ma główny wzór, aby wypełnić resztę serii.

Przeznaczenie: Zakres komórek, w których chcemy wypełnić serię wzorców.

Typ jako xlAutoFillType: Typ wypełnienia serii. Istnieją różne typy autouzupełniania, które można wybrać.

Czytaj więcej: Jak korzystać z autouzupełniania VBA w programie Excel

4 typy autouzupełniania w Excelu VBA

W tym rozdziale omówię niektóre z typów autouzupełniania. Widzieliśmy już, że możemy wybrać dowolny typ autouzupełniania używając opcji xlAutoFillType. Tutaj pokazuję kilka przykładów na to.

1. xlFillDefault

Ten typ autouzupełniania widzieliśmy już w poprzednim przykładzie.

Spójrzcie na zrzut ekranu:

Wpisz następujący kod VBA, aby automatycznie wypełnić pozostałe komórki:

 Sub xlDefault_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillDefault End Sub 

Teraz uruchom makro VBA, a po jego uruchomieniu zobaczysz, co następuje:

Automatycznie wypełnia resztę komórek za pomocą makra VBA.

2. xlFillCopy

Aby skopiować te same wartości można użyć typu xlFillCopy w typie autouzupełniania.

Spójrzcie na zrzut ekranu:

Wpisz następujący kod VBA, aby automatycznie wypełnić pozostałe komórki:

 Sub xlFillCopy_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillCopy End Sub 

Teraz uruchom makro VBA, a po jego zakończeniu zobaczysz następujące elementy:

Excel wypełnia pozostałe komórki tym samym wzorcem wartości.

3. xlFillMonths

Możesz również wypełnić miesiące używając xlFillMonths typ autouzupełniania.

Spójrzcie na zrzut ekranu:

Tutaj mamy wpisane dwa miesiące styczeń i luty.

Wpisz następujący kod VBA, aby automatycznie wypełnić pozostałe komórki:

 Sub xlFillMonths_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillMonths End Sub 

Teraz uruchom makro VBA, a po jego uruchomieniu zobaczysz, co następuje:

Excel automatycznie rozumie wzory i wypełnia je nimi.

4. xlFillFormats

Można również kopiować formaty do innych komórek za pomocą autouzupełniania VBA. W tym celu należy użyć xlFillFormats typ autouzupełniania.

Spójrzcie na zrzut ekranu:

Tutaj wypełniliśmy dwie komórki jakimiś kolorami.

Teraz wpisz następujący kod VBA, aby automatycznie wypełnić pozostałe komórki:

 Sub xlFillFormats_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillFormats End Sub 

Teraz uruchom makro VBA, a po jego zakończeniu zobaczysz następujące elementy:

Jak widać, nasze makro VBA wykorzystuje autouzupełnianie do efektywnego wypełniania wierszy kolumny B.

Czytaj więcej: Jak automatycznie wypełniać miesiące w programie Excel

5 Przykładów z AutoFill Formula do ostatniego wiersza w Excelu VBA

1. VBA do autouzupełniania formuły do ostatniego użytego wiersza

Podobnie można autouzupełnić formułę za pomocą VBA. jeśli przeczytałeś poprzednie sekcje, możesz łatwo to wykonać. Problem pojawia się, gdy musisz autouzupełnić formułę do ostatniego wiersza. Musisz najpierw zidentyfikować ostatnio używany wiersz. Po tym kod VBA automatycznie je wypełni.

Przyjrzyj się poniższemu zbiorowi danych:

Tutaj mamy zbiór danych o sprzedaży niektórych sprzedawców. Naszym celem jest dodanie sprzedaży ze stycznia i lutego do kolumny Total. Następnie użyjemy metody autouzupełniania za pomocą VBA do ostatnio używanego wiersza w Excelu.

Aby to wykonać, wpisz następujący kod:

 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 Destination:=Range("E5:E" & last_row) End Sub. 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Zwraca ostatnio używany wiersz z kolumny B. Możesz wybrać dowolną kolumnę ze swojego zestawu danych.

Range("E5").Formula = "=SUM(C5:D5)": Dodajemy sprzedaż Komórka C5 oraz D5.

Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Po uzyskaniu wyniku, korzystamy z autouzupełniania. Rozpoczyna ono autouzupełnianie od Komórka E5 do ostatniego użytego wiersza, który otrzymaliśmy wcześniej.

Teraz uruchom makro VBA, po czym zobaczysz następujące wyjście:

Jak widać, nasz kod VBA dodaje pierwszy wynik i autouzupełnienie formuły do ostatniego wiersza w Excelu.

Czytaj więcej: Jak wypełnić do ostatniego wiersza danymi w Excelu

2. VBA Automatyczne wypełnianie z ActiveCell do ostatniego wiersza

Teraz, jeśli nie chcesz używać konkretnego zakresu w metodzie autouzupełniania, możesz użyć wartości aktywnej komórki, formuł lub formatów. Gdy klikniesz komórkę i chcesz autouzupełnić resztę wierszy formułą aktywnej komórki, użyj tej metody.

Podobnie jest z poprzednim przykładem, korzystamy z poprzedniego zbioru danych:

Teraz dodamy sprzedaż ze stycznia i lutego oraz autouzupełnimy formułę do ostatniego wiersza za pomocą Excel VBA.

Teraz wpisz następujący kod:

 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: Zwraca ostatnio używany wiersz z kolumny B. Możesz wybrać dowolną kolumnę ze swojego zestawu danych.

ActiveCell.Formula = "=SUM(C5:D5)": Dodajemy sprzedaż Komórka C5 oraz D5 w wybranej komórce.

ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row): Po uzyskaniu wyniku używamy autouzupełniania. Rozpoczyna ono autouzupełnianie od aktywnej komórki do ostatniego użytego wiersza, który otrzymaliśmy wcześniej.

Teraz wybierz Komórka E5 .

Następnie uruchom makro VBA, aby dodać formułę i autouzupełnianie do ostatniego wiersza.

Jak widać, z powodzeniem wykorzystaliśmy makro VBA do autouzupełniania formuły do ostatniego wiersza.

Podobne lektury

  • Jak powtarzać wiersze określoną liczbę razy w programie Excel (4 sposoby)
  • Automatyczne numerowanie wierszy w Excelu (8 metod)
  • Jak wypełnić kolumnę w Excelu tą samą wartością (9 sztuczek)
  • Zastosuj skrót AutoFill w programie Excel (7 metod)

3. autowypełnianie do ostatniego wiersza przy użyciu zakresu dynamicznego w Excelu VBA

Poprzednio pokazaliśmy Ci kilka makr VBA do autouzupełniania do ostatniego wiersza w Excelu. Teraz w tamtych przykładach używaliśmy już dynamicznych zakresów.

Aby zrozumieć zakresy statyczne, spójrz na następujący kod:

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

Zasadniczo powiedzieliśmy Excelowi, aby wprowadził formułę w Komórka E5 i autouzupełnianie go z Komórka E5 do Komórka E11 A co jeśli dodasz więcej wierszy? W takim przypadku nasze VBA nie wypełni automatycznie tych dodatkowych wierszy, ponieważ już wcześniej kazaliśmy mu wypełnić określony zakres.

Aby rozwiązać ten problem, wymyśliłem rozwiązanie, które może przyjąć dynamiczny zakres:

 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 Destination:=Range("E5:E" & last_row) End Sub. 

Jak widać, najpierw znajdujemy ostatni rząd przez tę linię kodu:

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

Następnie autouzupełniamy do ostatniego wiersza za pomocą dynamicznego zakresu:

 Range("E5").AutoFill Destination:=Range("E5:E" & last_row) 

Niezależnie od tego, ile wierszy dodasz do swojego zbioru danych, ten kod VBA z powodzeniem je zidentyfikuje. I automatycznie wypełni je formułą.

Dynamiczny zakres w zasadzie oznacza, że nie musisz ręcznie wprowadzać zakresu, Excel będzie go co jakiś czas aktualizował.

Czytaj więcej: Excel VBA: Metoda autouzupełniania klasy zakresu nie powiodła się

4. autouzupełnianie do ostatniej kolumny w Excelu za pomocą VBA

Jeśli przeczytałeś poprzednie sekcje, aby autofill do ostatniego wiersza, to możesz łatwo autofill do ostatniej kolumny. Musisz po prostu znaleźć numer ostatniej kolumny i autofill go z Excel VBA.

Przyjrzyj się poniższemu zbiorowi danych:

Mamy tutaj zbiór danych, który reprezentuje 3-miesięczny budżet danej osoby. Teraz dodamy wydatki ze wszystkich miesięcy i automatycznie wypełnimy formułę do ostatniej kolumny za pomocą VBA Excela.

Teraz wpisz następujący kod:

 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 

last_column = Cells(6, Columns.Count).End(xlToLeft).Column: Zwraca ostatnio używaną kolumnę z wiersza 6. Możesz wybrać dowolny wiersz, aby rozpocząć od swojego zestawu danych.

Range("D9").Formula = "=SUM(D6:D8)": Dodajemy do tego wydatki na. trzy miesiące (styczeń, luty, marzec).

Range("D9").AutoFill Destination:=Range("D9", Cells(9, ostatnia_kolumna)): Po uzyskaniu wyniku używamy autouzupełniania. Tutaj naszym głównym wierszem jest wiersz numer 9. Wszystkie nasze dane znajdą się w tym wierszu. Autouzupełnianie rozpoczyna się od kolumny D do ostatnio użytej kolumny, którą otrzymaliśmy wcześniej przez ostatnia_kolumna .

Po uruchomieniu makra zobaczysz następujące wyjście:

Jak widać, z powodzeniem użyliśmy VBA do autouzupełniania formuły do ostatniej kolumny w Excelu.

Czytaj więcej: Jak automatycznie wypełnić kolumnę w programie Excel

5. autouzupełnianie kolejnych numerów do ostatniego wiersza w Excelu za pomocą VBA

Możesz również autouzupełniać numery sekwencyjne używając autouzupełniania w VBA.Tutaj musisz użyć xlFillSeries w typie autouzupełniania. Excel zrozumie wzór i wypełni je nim.

Spójrz na poniższy zrzut ekranu:

Tutaj mamy kilka nazwisk, i chcemy im nadać identyfikator w sposób sekwencyjny. Aby to zrobić, użyjemy autouzupełniania VBA.

Autouzupełnianie numerów sekwencyjnych z zakresem statycznym:

 Sub sekwencyjna_liczba_2() Range("C5").AutoFill Destination:=Range("C5:C11"), Type:=xlFillSeries End Sub 

Po Uruchomienie kodu, zobaczysz wyjście:

Jeśli chcesz użyć zakresu dynamicznego, to użyj następującego kodu:

 Sub sekwencyjna_liczba_1() Dim ostatni_wiersz As Long ostatni_wiersz = Cells(Rows.Count, 2).End(xlUp).Row Range("C5").AutoFill Destination:=Range("C5:C" & ostatni_wiersz), Type:=xlFillSeries End Sub. 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Zwraca ostatnio użyty wiersz z kolumny B.

Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: Przyjmie on identyfikator o treści Komórka C5 i autouzupełnianie do ostatniego użytego wiersza w kolumnie C używając xlFillSeries ,

W obu przypadkach otrzymasz to samo wyjście:

Jak widać, z powodzeniem wykorzystaliśmy kod VBA do autouzupełniania numerów sekwencyjnych w Excelu.

Czytaj więcej: Formuły programu Excel do wypełniania numerów sekwencji w dół Pomiń ukryte wiersze

💬 Rzeczy do zapamiętania

Możesz zatrzymać autouzupełnianie na różne sposoby, jeśli nie chcesz .

Nie można automatycznie wypełniać wielu wierszy i kolumn jednocześnie, należy to robić pojedynczo.

Wniosek

Podsumowując, mam nadzieję, że ten tutorial dostarczył Ci kawałka przydatnej wiedzy do autouzupełniania formuły do ostatniego wiersza za pomocą kodów VBA. Polecamy Ci nauczyć się i zastosować wszystkie te instrukcje do Twojego zestawu danych. Pobierz zeszyt ćwiczeń i wypróbuj je sam. Nie krępuj się również dać komentarz w sekcji komentarzy. Twoje cenne opinie sprawiają, że mamy motywację do tworzenia tutoriali takich jakto.

Nie zapomnij sprawdzić naszej strony internetowej Exceldemy.com dla różnych problemów i rozwiązań związanych z programem Excel.

Ciągle ucz się nowych metod i ciągle się rozwijaj!

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.