Autouzupełnianie VBA

Co robi autouzupełnianie w Excel VBA?

Widzieliśmy autouzupełnianie w arkuszu roboczym, w którym komórki są automatycznie wypełniane na podstawie wartości w poprzednich komórkach powyżej, możemy użyć VBA, aby excel wykonał zadanie za nas, w tym celu używamy metody Selection.Autofill i zapewniamy miejsce docelowe, czyli do jakich komórek należy wypełnić wartości.

Najlepsze wykorzystanie autouzupełniania VBA pojawia się, gdy musimy wypełnić formułę pierwszej komórki do komórki w kolumnie. Zwykle stosujemy formułę w pierwszej komórce albo kopiujemy i wklejamy do ostatniej komórki, albo po prostu wypełniamy automatycznie, klikając dwukrotnie mały klawisz strzałki. Innym najlepszym przykładem użycia autouzupełniania w programie Excel jest sytuacja, gdy musimy wstawić numery seryjne. Zwykle wpisujemy pierwsze trzy liczby, a następnie przeciągamy w dół do wymaganej ostatniej komórki.

Również w VBA możemy wykonać zadanie metody AutoFill. W tym artykule pokażemy, jak możemy wykorzystać metodę autouzupełniania i jak pisać kod. Teraz zobaczymy, jak możemy wykorzystać to narzędzie w kodowaniu VBA.

Jak korzystać z autouzupełniania w VBA?

Aby skorzystać z autouzupełniania w VBA, musimy zrozumieć składnię metody autouzupełniania. Poniżej znajduje się składnia autouzupełniania.

  • Zakres („A1”): Jakie komórki identyfikują wzór serii wypełnień.
  • Miejsce docelowe: do komórki, w której chcesz kontynuować wzorzec serii wypełnień. Tutaj musimy wspomnieć o pełnej gamie komórek.
  • Wpisz jako xlAutoFillType: Tutaj możemy wybrać typ wypełnienia serii. Poniżej znajduje się lista elementów tego parametru - xlFillCopy, xlFillDays, xlFillDefault, xlFillFormats, xlFillMonths, xlFillSeries, xlFillValues, xlFillWeekdays, xlFillYears, xlFlashFill, xlGrowthTrendLear, xlGrowthTrend.

Przykłady autouzupełniania w Excel VBA

Zobaczmy kilka prostych i zaawansowanych przykładów autouzupełniania VBA w programie Excel.

Przykład # 1 - xlFillDefault

Najpierw wprowadź 3 numery seryjne w pierwszych trzech komórkach.

W podprocedurze VBA podaj zakres VBA jako Zakres („A1: A3”)

Kod:

Sub AutoFill_Example1 () Range („A1: A3”). Napis końcowy

Teraz uzyskaj dostęp do metody autouzupełniania.

Wpisz miejsce docelowe jako zakres („A1: A10”)

Kod:

Zakres („A1: A3”). Miejsce docelowe autouzupełniania: = Zakres („A1: A10”) 

Wybierz Typ jako xlFillDefault .

Kod:

Zakres („A1: A3”). Miejsce docelowe autouzupełniania: = Zakres („A1: A10”), Typ: = xlFillDefault 

Teraz uruchom kod, otrzymamy numery seryjne od 1 do 10.

Ponieważ wspomnieliśmy o końcowej komórce docelowej jako A10, zatrzymała się w tym miejscu, możemy wprowadzić komórkę docelową jako ostatnią komórkę programu Excel.

Przykład # 2 - xlFillCopy

Dla tych samych liczb użyjemy typu jako xlFillCopy.

Kod:

 Sub AutoFill_Example1 () Range („A1: A3”). AutoFill Destination: = Range („A1: A10”), Type: = xlFillCopy End Sub 

Mam kopię pierwszych trzech komórek do pozostałych komórek.

Przykład # 3 - xlFillMonths

W tym przykładzie wprowadziłem pierwsze trzy miesiące w pierwszych 3 komórkach.

Zmień typ autouzupełniania na xlFillMonths.

Kod:

 Sub AutoFill_Example1 () Range („A1: A3”). AutoFill Destination: = Range („A1: A10”), Type: = xlFillMonths End Sub 

To wypełni serię miesięcy.

Przykład # 4 - xlFillFormats

W tym przykładzie wprowadziłem liczby i zastosowałem formatowanie do tych komórek.

Teraz zmienię typ na xlFillFormats.

Kod:

 Sub AutoFill_Example1 () Range („A1: A3”). AutoFill Destination: = Range („A1: A10”), Type: = xlFillFormats End Sub 

Uruchom ten kod i zobacz, co się stanie.

Wypełnił formaty pierwszych trzech komórek do następnych trzech komórek i ponownie do następnych trzech komórek i tak dalej.

Przykład # 5 - xlFlashFill

W tym przykładzie wprowadziłem kilka wartości z komórki A1 do A10, jak pokazano na poniższym obrazku.

Z tej listy chcę wyodrębnić część liczbową. Aby powiedzieć excelowi o wzorze, w pierwszej komórce ręcznie wprowadzę numeryczną część pierwszej komórki.

Teraz napiszę kod jak zwykle i zmienię typ na xlFlashFill. Tym razem użyjemy zakresu kolumn B.

Kod:

 Sub AutoFill_Example1 () Range („B1”). AutoFill Destination: = Range („B1: B10”), Type: = xlFlashFill End Sub 

Jeśli uruchomię ten kod, otrzymamy wynik podobny do poniższego.

To jest przegląd metody automatycznego wypełniania języka VBA. Mam nadzieję, że ci się podobało.

Możesz pobrać ten szablon VBA AutoFill Excel stąd - Szablon VBA AutoFill Excel