Automatické dopĺňanie pomocou makra - príklady kódu VBA

Automatické dopĺňanie vo VBA

Tento článok ukazuje, ako používať automatické dopĺňanie vo VBA.

Automatické dopĺňanie je vynikajúci nástroj v Exceli, keď sa údaje opakujú alebo ak sú sekvenčné (napríklad dni v týždni, dátumy, mesiace v roku atď.). Prvých pár buniek by sme normálne vyplnili požadovanými údajmi a potom pomocou funkcie Automatické dopĺňanie skopírovali požadované údaje do vybratého rozsahu.

To všetko je možné vykonať pomocou makra VBA.

Automatické dopĺňanie pomocou prírastkových čísel

Po prvé, v našom kóde môžeme deklarovať dve premenné rozsahu.

Výber1 je rozsah s údajmi, ktoré sa majú vyplniť automaticky - napríklad 1 a 2.

Selection2 je celé rozsah automatického dopĺňania, zahŕňa prvý rozsah plus medzery na automatické dopĺňanie.

Potom použijeme metódu AutoFill na vyplnenie druhého rozsahu výberu.

123456789101112131415 Verejné Sub MyAutoFill ()'od easyexcel.net„Vyhláste premenné rozsahuDim selection1 As RangeDim selection2 As Range„Nastaviť premenné rozsahu = ich príslušné rozsahyNastaviť výber1 = list1.Rozsah ("A1: A2")Nastaviť výber2 = list1.Rozsah ("A1: A12")„Automatické dopĺňanieselection1.AutoFill Destination: = selection2Koniec pod

Potom môžeme makro spustiť na Rozsah automatického dopĺňania (A1: A12).

Keď používame metódu automatického dopĺňania, môžeme vybrať typ automatického dopĺňania, ktoré chceme vykonávať. Vo vyššie uvedenom príklade sme neurčili typ automatického dopĺňania, čo znamená, že bol použitý predvolený typ - v tomto prípade zvýšenie čísel o 1 na každom riadku.

Automatické dopĺňanie pomocou mesiacov

Makro na automatické dopĺňanie pomocou mesiacov je takmer totožné s tým, ktoré sa používa na zvyšovanie čísel, s jednou dôležitou výnimkou.

1234567891011 Verejné automatické dopĺňanie mesiacov ()'od easyexcel.net„Vyhláste premenné rozsahuDim selection1 As RangeDim selection2 As Range„Nastaviť premenné rozsahu = ich príslušné rozsahyNastaviť výber1 = list1.Rozsah ("A1: A2")Nastaviť výber2 = list1.Rozsah ("A1: A12")„Vyplňte mesiaceCieľ automatického dopĺňania: = výber2, typ: = xlFillMonthsKoniec pod

Keď vyplníme typ automatického dopĺňania, zobrazí sa nám na výber niekoľko konštánt programu Excel. Ak to vynecháme, Excel určí typ údajov, ktoré sa majú vyplniť, z pôvodných uvedených údajov.

Excel dokáže zachytiť štandardné série, ako sú mesiace, dni v týždni a prírastkové čísla, bez toho, aby bolo potrebné použiť argument Typ.

Automatické dopĺňanie pomocou xlFillCopy

Ak chceme použiť makro AutoFill na skopírovanie informácií do nových buniek, môžeme použiť konštantu xlFillCopy.

1234567 Verejné automatické dopĺňanie kópií ()Dim Selection1 As RangeDim Selection2 As RangeNastaviť výber1 = list1.rozsah ("A1: A1")Nastaviť výber 2 = list 1. Rozsah ("A1: A12")Selection1.AutoFill Destination: = Selection2, Type: = xlFillCopyKoniec pod

Spustenie tohto makra by skopírovalo údaje v rozsahu („A1“) nadol do rozsahu („A1: A12“), a nie automatické vypĺňanie buniek v nasledujúcich mesiacoch od „januára“.

Automatické dopĺňanie pomocou xlFlashFill

Keď potrebujeme v Exceli previesť text na stĺpce, môžeme buď použiť možnosť textu na stĺpce, alebo môžeme použiť možnosť s názvom Flash Fill. To je vo VBA veľmi užitočné.

Vezmite si napríklad tieto údaje:

Do bunky B2 môžeme napísať priezvisko „Tolley“ a potom pomocou makra Flashfill vyplniť ostatné údaje.

1234567 Sub FlashFill ()Dim Selection1 As RangeDim Selection2 As RangeNastaviť výber 1 = rozsah ("B2: B2")Nastaviť výber 2 = rozsah ("B2: B15")Selection1.AutoFill Cieľ: = Selection2, Typ: = xlFlashFillKoniec pod

Potom to môžeme zopakovať, čím získame zostávajúce údaje v stĺpcoch C, D a E.

1234567891011 Nastaviť výber 1 = rozsah ("C2: C2")Nastaviť výber 2 = rozsah ("C2: C15")Selection1.AutoFill Cieľ: = Selection2, Typ: = xlFlashFillNastaviť výber 1 = rozsah ("D2: D2")Nastaviť výber 2 = rozsah ("D2: D15")Selection1.AutoFill Cieľ: = Selection2, Typ: = xlFlashFillNastaviť výber 1 = rozsah ("E2: E2")Nastaviť výber 2 = rozsah ("E2: E15")Selection1.AutoFill Cieľ: = Selection2, Typ: = xlFlashFill

Každý stĺpec sa potom vyplní príslušnými údajmi na základe hodnoty v riadku 2.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave