Vytvoření tabulky z rozsahu v aplikaci Excel VBA (6 příkladů)

  • Sdílet Toto
Hugh West

Při práci s Microsoft Excel , můžeme využít zkoumání velkého množství dat. A transformace těchto datových rozsahů do tabulky je jednou z největších možností. Tabulky Excelu nám umožňují rychle třídit a filtrovat data, přidávat nové záznamy a okamžitě aktualizovat grafy a tabulky PivotTables. a Excel VBA pomáhá uživateli přizpůsobit aplikaci pomocí několika jednoduchých kódů. V tomto článku si ukážeme několik příkladů. Excel VBA vytvořit tabulku z rozsahu.

Stáhnout cvičebnici

Můžete si stáhnout pracovní sešit a procvičovat s nimi.

Vytvoření tabulky z souboru Range.xlsm

6 příkladů aplikace Excel VBA pro vytvoření tabulky z rozsahu

Tabulky začínaly jako seznamy v edici Excelu s nabídkou, ale ty se ve variantách s páskou rozrostly o další funkce. Převedení datového rozsahu na tabulku rozšiřuje možnosti a umožňuje rychlejší a snadnější práci. převést rozsah na tabulku pomocí VBA je nejjednodušší způsob než použití pásky.

Předpokládejme, že máme jednoduchý soubor dat, který obsahuje některé položky ve sloupci B , množství těchto položek ve sloupci C a celkové tržby za každou položku ve sloupci D . Nyní chceme převést rozsah dat na tabulku. Ukážeme si různé příklady a pokyny krok za krokem, jak vytvořit tabulku z rozsahu dat. B4:D9 pomocí aplikace Excel VBA.

Použijte ListObjects.Add změnit rozsah na tabulku Excelu. Objekt Spreadsheet má charakteristickou vlastnost ListObjects . ListObjects má techniku, která se nazývá Přidat Kritéria pro .Add jsou následující.

expression .Add(SourceType, Source, LinkSource, HasHeaders,Destination)

A použijte SourceType xlSrcRange .

1. Excel VBA pro generování tabulky z rozsahu

S Excel VBA , mohou uživatelé snadno používat kód, který se chová jako nabídky Excelu z pásu karet. Chcete-li použít kód VBA kód pro generování tabulky z rozsahu, postupujme podle tohoto postupu.

KROKY:

  • Nejprve přejděte na Vývojář z pásu karet.
  • Za druhé, z Kód klikněte na Visual Basic otevřít Editor jazyka Visual Basic . Nebo stiskněte Alt + F11 otevřít Editor jazyka Visual Basic .
  • Místo toho můžete na pracovní list kliknout pravým tlačítkem myši a přejít na položku Zobrazit kód . Tím se také dostanete na Editor jazyka Visual Basic .

  • Zobrazí se v Editor jazyka Visual Basic kde napíšeme kódy pro vytvoření tabulky z rozsahu.
  • Za třetí klikněte na Modul z Vložte v rozevírací nabídce.

  • Tím se vytvoří Modul v sešitě.
  • A zkopírujte a vložte VBA níže uvedený kód.

Kód VBA:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Poté spusťte kód kliknutím na tlačítko RubSub nebo stisknutím klávesové zkratky F5 .

Kód nemusíte měnit. Stačí jen změnit rozsah podle vašich požadavků.

  • A nakonec podle těchto kroků vytvoříte tabulku z rozsahu B4:D9 .

Vysvětlení kódu VBA

 Sub Create_Table() 

Sub je část kódu, která slouží ke zpracování práce v kódu, ale nevrátí žádnou hodnotu. Je také známá jako podprocedura. Naši proceduru tedy pojmenujeme Create_Table() .

 List1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" 

Toto je hlavní řádek kódu, pomocí něhož se rozsah převede na tabulku. Jak již víme. ListObjects.Add k přeměně rozsahu na tabulku Excelu. A my používáme xlSrcRange jako zdrojový typ. Také deklarujeme náš rozsah Rozsah("B4:D9") . A nakonec pojmenujte naši tabulku jako Tabulka1 .

 End Sub 

Tím se postup ukončí.

Přečtěte si více: Jak aktualizovat rozsah otočné tabulky (5 vhodných metod)

2. Sestavení tabulky z rozsahu pomocí aplikace Excel VBA

Podívejme se na další příklad sestavení tabulky z rozsahu pomocí Excel VBA.

KROKY:

  • Nejprve přejděte do Rozvíjejte r na pásu karet.
  • Za druhé klikněte na Visual Basic otevřít Editor jazyka Visual Basic .
  • Další způsob, jak otevřít Editor jazyka Visual Basic je jednoduše stisknout Alt + F11 .
  • Nebo klikněte pravým tlačítkem myši na list a vyberte možnost Zobrazit kód .
  • Dále přejděte na Vložte a vyberte Modul z rozevírací nabídky.
  • Tím se otevře okno Visual Basic.
  • Poté zkopírujte a vložte Kód VBA níže.

Kód VBA:

 Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub 
  • Dále stiskněte tlačítko Klávesa F5 nebo klikněte na Run Sub spustit kód.

  • A dostanete výsledek, který je zobrazen na obrázku Metoda 1 .

Vysvětlení kódu VBA

 Dim tb2 As Range Dim wsht As Worksheet 

Na stránkách DIM prohlášení v VBA odkazuje na " prohlásit, " a musí být použita k deklaraci proměnné. Takže deklarujeme náš rozsah na tb2 a pracovní list do ws .

 Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet 

VBA Set nám jednoduše umožňuje vyhnout se tomu, abychom při spouštění kódu museli znovu a znovu zadávat rozsah, který potřebujeme vybrat. Nastavíme tedy náš rozsah na aktuální oblast a náš pracovní list na aktivní pracovní list.

 wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" 

Pomocí tohoto řádku kódu vytvoříme tabulku z rozsahu a pojmenujeme naši tabulku. Tabulka2 .

Přečtěte si více: Jak používat tabulku aplikace Excel pomocí VBA (9 možných způsobů)

3. Vytvoření tabulky z rozsahu pomocí VBA v aplikaci Excel

Podívejme se na další příklad využití nástroje Excel VBA k vytvoření tabulky z rozsahu.

KROKY:

  • Na začátku vyberte celý rozsah, který chcete převést na tabulku.
  • Za druhé klikněte na Vývojář na pásu karet.
  • Za třetí, spusťte Editor jazyka Visual Basic kliknutím na Visual Basic .
  • Případně můžete přistupovat k Editor jazyka Visual Basic stisknutím tlačítka Alt + F11 .
  • Nebo, klikněte pravým tlačítkem myši na na listu a vyberte možnost Zobrazit kód z nabídky.
  • Dále vyberte Modul z rozevíracího seznamu v části Vložte .
  • Zobrazí se okno Visual Basic.
  • Napište tam kód.

Kód VBA:

 Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub 
  • Nakonec stiskněte tlačítko Klávesa F5 ke spuštění kódu.

  • Tím se vytvoří tabulka z rozsahu dat, který jsme získali v položce Metoda 1 .

Přečtěte si více: Jak vytvořit tabulku v aplikaci Excel (s přizpůsobením)

Podobná čtení

  • Součet vypočtených polí dělený počtem v tabulce Pivot
  • Jak znázornit relativní rozdělení četností v aplikaci Excel
  • Pivot tabulka aplikace Excel seskupená podle týdne (3 vhodné příklady)
  • [Oprava] Nelze seskupit data v tabulce Pivot: 4 možná řešení
  • Jak vytvořit amortizační tabulku v aplikaci Excel (4 metody)

4. Použití VBA k vytvoření dynamické tabulky z rozsahu

Podívejme se na další způsob generování tabulky z rozsahu pomocí Excel VBA.

KROKY:

  • Chcete-li začít, otevřete pás karet a vyberte možnost Vývojář možnost.
  • Pak, pro přístup k Editor jazyka Visual Basic , klikněte na Visual Basic .
  • Stisknutí Alt + F11 vyvolá také Editor jazyka Visual Basic .
  • Případně, klikněte pravým tlačítkem myši na listu a vyberte možnost Zobrazit kód ze zobrazené nabídky.
  • Nyní z Vložte v rozevíracím seznamu vyberte možnost Modul .
  • Pak zkopírujte a vložte VBA kód, který následuje.

Kód VBA:

 Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With End EndSub 
  • Spusťte kód stisknutím tlačítka F5 klíč.

  • Jak je znázorněno v Metoda 1 'ilustrace, bude tabulka sestavena z rozsahu.

Vysvětlení kódu VBA

 Sub Create_Dynamic_Table1() 

Tento řádek označuje název dílčího postupu.

 Dim tbOb As ListObject Dim TblRng As Range 

Tento dvouřádek se používá pro deklaraci proměnné.

 S Listy("Příklad4") 

Na stránkách S prohlášením umožňuje provádět posloupnost příkazů nad jedním objektem, aniž by bylo nutné překvalifikovat jméno objektu. S výpis s názvem listu.

 lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 

Ty slouží k nalezení posledního řádku a posledního sloupce.

 Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) 

Rozsah pro vytvoření tabulky.

 Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) 

Vytvořte tabulku ve výše uvedeném rozsahu.

 tbOb.Name = "DynamicTable1" 

Zadání názvu tabulky

 tbOb.TableStyle = "TableStyleMedium14" 

Zadejte styl tabulky.

Přečtěte si více: Vytvoření tabulky v aplikaci Excel pomocí klávesové zkratky (8 metod)

5. Vytvořte dynamickou tabulku z rozsahu

Nyní se podívejte na další metodu Excelu VBA pro vytvoření tabulky z rozsahu.

KROKY:

  • Chcete-li začít, otevřete pás karet a vyberte Vývojář z rozevírací nabídky.
  • Pak vyberte Visual Basic otevřít Editor jazyka Visual Basic .
  • Na stránkách Editor jazyka Visual Basic lze také vyvolat stisknutím tlačítka Alt + F11 .
  • Případně můžete klikněte pravým tlačítkem myši na listu a vyberte Zobrazit kód z rozbalovací nabídky.
  • Poté vyberte Modul z Vložte rozevírací nabídka.
  • Pak zkopírujte a vložte následující kód VBA.

Kód VBA:

 Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) tbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With End Sub 
  • Nakonec spusťte kód stisknutím tlačítka F5 na klávesnici a výsledek se zobrazí v pracovním listu.

  • A jak se ukázalo v Metoda 1 'ilustrace, bude tabulka vytvořena z rozsahu.

Přečtěte si více: Jak na dobrý vzhled tabulek aplikace Excel (8 účinných tipů)

6. Použití aplikace Excel VBA k vytvoření dynamické tabulky

Prozkoumejme další způsob sestavení tabulky z rozsahu pomocí nástroje Excel VBA.

KROKY:

  • Na začátku přejděte na Vývojář karta> Visual Basic > Vložte > Modul .
  • Nebo, kliknutí pravým tlačítkem myši na pracovním listu se otevře okno. V něm přejděte na položku Zobrazit kód .
  • Tím se dostanete do Editor jazyka Visual Basic kde můžeme psát makra VBA.
  • Na druhou stranu stisknutí Alt + F11 otevře také Editor jazyka Visual Basic .
  • Poté zadejte VBA kód.

Kód VBA:

 Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub 
  • Spusťte kód a podívejte se na výsledek stisknutím tlačítka Klávesa F5 .

  • A tabulka bude vytvořena z rozsahu, jak je znázorněno na obrázku Metoda 1 .

Přečtěte si více: Jak vytvořit tabulku v aplikaci Excel s daty (5 způsobů)

Závěr

Výše uvedené metody vám pomohou vytvořit tabulku z rozsahu v aplikaci Excel. Doufám, že vám to pomůže! Pokud máte nějaké dotazy, návrhy nebo zpětnou vazbu, dejte nám prosím vědět v sekci komentářů. Nebo se můžete podívat na naše další články v sekci ExcelWIKI.com blog!

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.