Obsah
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.xlsm6 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!