Automatické vyplňování pomocí makra - příklady kódu VBA

Automatické vyplňování ve VBA

Tento článek ukazuje, jak používat automatické vyplňování ve VBA.

AutoFill je skvělý nástroj v Excelu, když se data opakují nebo jsou sekvenční (jako dny v týdnu, data, měsíce v roce atd.). Prvních pár buněk bychom normálně vyplnili požadovanými údaji a poté pomocí funkce Automatické vyplňování zkopírovali požadovaná data do vybraného rozsahu.

To vše lze provést pomocí makra VBA.

Automatické vyplňování pomocí přírůstkových čísel

Za prvé, v našem kódu můžeme deklarovat dvě Range proměnné.

Selection1 je rozsah s údaji, které se mají automaticky vyplnit - například 1 a 2.

Selection2 je celý rozsah pro automatické vyplňování, zahrnuje první rozsah plus mezery pro automatické vyplňování.

Poté použijeme metodu AutoFill k vyplnění druhého rozsahu výběru.

123456789101112131415 Veřejné Sub MyAutoFill ()'od easyexcel.net"Deklarujte rozsah proměnných."Dim selection1 As RangeDim selection2 As Range'Nastavit proměnné rozsahu = jejich příslušné rozsahyNastavit výběr1 = list1.Range ("A1: A2")Nastavit výběr2 = list1.Range ("A1: A12")„Automatické vyplňováníselection1.AutoFill Destination: = selection2End Sub

Potom můžeme spustit makro na Rozsah automatického vyplňování (A1: A12).

Když používáme metodu automatického vyplňování, můžeme vybrat typ automatického vyplňování, které chceme provést. Ve výše uvedeném příkladu jsme nezadali typ automatického vyplňování, což znamená, že byl použit výchozí typ - v tomto případě zvýšení čísel o 1 na každém řádku.

Automatické vyplňování pomocí měsíců

Makro pro automatické vyplňování pomocí měsíců je téměř totožné s tím, které se používá pro zvýšení čísel, s jednou důležitou výjimkou.

1234567891011 Veřejné dílčí automatické vyplňování měsíců ()'od easyexcel.net"Deklarujte rozsah proměnných."Dim selection1 As RangeDim selection2 As Range'Nastavit proměnné rozsahu = jejich příslušné rozsahyNastavit výběr1 = list1.Range ("A1: A2")Nastavit výběr2 = list1.Range ("A1: A12")„Vyplňte měsíceCíl automatického vyplňování: = výběr2, typ: = xlFillMonthsEnd Sub

Když vyplníme typ automatického vyplňování, dostaneme na výběr z několika konstant aplikace Excel. Pokud to vynecháme, Excel určí typ dat, která se mají vyplnit, z původních dat.

Excel je schopen zachytit standardní řady, jako jsou měsíce, dny v týdnu a přírůstková čísla, aniž by však bylo nutné použít argument Typ.

Automatické vyplňování pomocí xlFillCopy

Pokud chceme použít makro AutoFill ke zkopírování informací dolů do nových buněk, můžeme použít konstantu xlFillCopy.

1234567 Veřejné Sub AutoFillCopy ()Dim Selection1 As RangeDim Selection2 As RangeNastavit výběr1 = list1.Range ("A1: A1")Nastavit výběr2 = list1.Range ("A1: A12")Selection1.AutoFill Destination: = Selection2, Type: = xlFillCopyEnd Sub

Spuštěním tohoto makra by se zkopírovala data v rozsahu („A1“) až do rozsahu („A1: A12“), a nikoli automatické vyplňování buněk následujícími měsíci od „ledna“.

Automatické vyplňování pomocí xlFlashFill

Když potřebujeme převést text na sloupce v Excelu, můžeme buď použít možnost text na sloupce, nebo můžeme použít možnost s názvem Flash Fill. To je ve VBA velmi užitečné.

Vezměte si například následující data:

Do buňky B2 můžeme zadat příjmení „Tolley“ a poté pomocí makra Flashfill vyplnit ostatní data.

1234567 Sub FlashFill ()Dim Selection1 As RangeDim Selection2 As RangeNastavit výběr1 = rozsah ("B2: B2")Nastavit výběr 2 = rozsah ("B2: B15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFillEnd Sub

Poté můžeme toto opakovat, čímž získáme zbývající data ve sloupcích C, D a E.

1234567891011 Nastavit výběr 1 = rozsah ("C2: C2")Nastavit výběr 2 = rozsah ("C2: C15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFillNastavit výběr 1 = rozsah ("D2: D2")Nastavit výběr2 = rozsah ("D2: D15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFillNastavit výběr 1 = rozsah ("E2: E2")Nastavit výběr2 = rozsah ("E2: E15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFill

Každý sloupec se pak vyplní příslušnými údaji na základě hodnoty v řádku 2.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave