Autouzupełnianie za pomocą makra - przykłady kodu VBA

Autouzupełnianie w VBA

W tym artykule pokazano, jak używać autouzupełniania w języku VBA.

Autouzupełnianie to świetne narzędzie w programie Excel, gdy dane są powtarzalne lub sekwencyjne (np. dni tygodnia, daty, miesiące w roku itp.). Zwykle wypełniamy pierwsze kilka komórek wymaganymi danymi, a następnie używamy Autouzupełniania, aby skopiować wymagane dane do wybranego zakresu.

Wszystko to można zrobić za pomocą makra VBA.

Autouzupełnianie przy użyciu liczb przyrostowych

Po pierwsze, w naszym kodzie możemy zadeklarować dwie zmienne Range.

Selection1 to zakres z danymi do autouzupełnienia - na przykład 1 i 2.

Wybór2 to Cały zakres do autouzupełnienia, obejmuje pierwszy zakres plus puste miejsca do autouzupełnienia.

Następnie używamy metody Autouzupełniania, aby wypełnić drugi zakres zaznaczenia.

123456789101112131415 Publiczny Sub Moje autouzupełnianie()„przez easyexcel.net”„Zadeklaruj zmienne zakresu”Wybór przyciemniania1 jako zakresWybór przyciemniania2 jako zakres'Ustaw zmienne zakresu = odpowiadające im zakresyUstaw wybór1 = Arkusz1.Zakres("A1:A2")Ustaw zaznaczenie2 = Arkusz1.Zakres("A1:A12")„Autouzupełnianie”wybór1. Automatyczne wypełnianie miejsca docelowego:=wybór2Napis końcowy

Następnie możemy uruchomić makro do zakresu autouzupełniania (A1:A12).

Kiedy używamy metody Autouzupełniania, możemy wybrać rodzaj autouzupełniania, który chcemy wykonać. W powyższym przykładzie nie określiliśmy typu autouzupełniania, co oznacza, że ​​został użyty typ domyślny - w tym przypadku zwiększenie liczb o 1 w każdym wierszu.

Autouzupełnianie za pomocą miesięcy

Makro do autouzupełniania za pomocą miesięcy jest prawie identyczne z tym, które służy do zwiększania liczb, z jednym ważnym wyjątkiem.

1234567891011 Publiczne podrzędne AutouzupełnianieMiesiące()„przez easyexcel.net”„Zadeklaruj zmienne zakresu”Wybór przyciemniania1 jako zakresWybór przyciemniania2 jako zakres'Ustaw zmienne zakresu = odpowiadające im zakresyUstaw wybór1 = Arkusz1.Zakres("A1:A2")Ustaw zaznaczenie2 = Arkusz1.Zakres("A1:A12")'Autouzupełnianie miesięcyMiejsce docelowe autouzupełniania:=wybór2, Typ:=xlWypełnianieMiesięcyNapis końcowy

Kiedy wypełniamy typ autouzupełniania, otrzymujemy do wyboru kilka stałych Excela. Jeśli to pominiemy, Excel określi rodzaj danych do uzupełnienia na podstawie danych oryginalnych.

Excel może pobierać standardowe serie, takie jak miesiące, dni tygodnia i liczby przyrostowe, bez konieczności używania argumentu Typ.

Autouzupełnianie przy użyciu xlFillCopy

Jeśli chcemy użyć makra Autouzupełniania do skopiowania informacji do nowych komórek, możemy użyć stałej xlFillCopy.

1234567 Publiczna funkcja AutouzupełnianiaKopiuj()Wybór przyciemniania1 jako zakresWybór przyciemniania2 jako zakresUstaw wybór1 = Arkusz1.Zakres("A1:A1")Ustaw zaznaczenie2 = Arkusz1.Zakres("A1:A12")Selection1.AutoFill Destination:=Selection2, Type:=xlFillCopyNapis końcowy

Uruchomienie tego makra spowoduje skopiowanie danych z zakresu („A1”) do zakresu („A1: A12”), zamiast automatycznego wypełniania komórek kolejnymi miesiącami od „sty”.

Autouzupełnianie przy użyciu xlFlashFill

Kiedy musimy przekonwertować tekst na kolumny w programie Excel, możemy użyć opcji tekstu na kolumny lub użyć opcji o nazwie Flash Fill. Jest to niezwykle przydatne w VBA.

Weźmy na przykład następujące dane:

Możemy wpisać nazwisko „Tolley” w komórce B2, a następnie użyć makra do Flashfill pozostałych danych.

1234567 Sub FlashFill()Wybór przyciemniania1 jako zakresWybór przyciemniania2 jako zakresUstaw wybór1 = Zakres("B2:B2")Ustaw wybór2 = Zakres("B2:B15")Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFillNapis końcowy

Następnie możemy powtórzyć to w kolumnach C, D i E, aby uzyskać pozostałe dane.

1234567891011 Ustaw wybór1 = Zakres("C2:C2")Ustaw wybór2 = Zakres("C2:C15")Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFillUstaw Wybór1 = Zakres("D2:D2")Ustaw wybór2 = Zakres("D2:D15")Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFillUstaw Wybór1 = Zakres("E2:E2")Ustaw wybór2 = Zakres("E2:E15")Selection1.AutoFill Destination:=Selection2, Type:=xlFlashFill

Każda kolumna zostanie następnie wypełniona odpowiednimi danymi na podstawie wartości w wierszu 2.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave