Obsah
Pri práci s Microsoft Excel , môžeme využiť skúmanie veľkého množstva údajov. A transformácia týchto rozsahov údajov do tabuľky je jednou z najväčších možností. Tabuľky Excelu nám umožňujú rýchle triedenie a filtrovanie údajov, pridávanie nových záznamov a okamžitú aktualizáciu grafov a PivotTabuliek. Excel VBA pomáha používateľovi prispôsobiť aplikáciu pomocou niekoľkých jednoduchých kódov. V tomto článku si ukážeme niekoľko príkladov Excel VBA na vytvorenie tabuľky z rozsahu.
Stiahnite si cvičebnicu
Môžete si stiahnuť pracovný zošit a precvičovať s nimi.
Vytvorenie tabuľky z Range.xlsm6 príkladov aplikácie Excel VBA na vytvorenie tabuľky z rozsahu
Tabuľky začínali ako zoznamy v edícii Excelu s ponukou, ale tie sa vo variantoch s páskou rozrástli o ďalšie funkcie. Konverzia rozsahu údajov na tabuľku rozširuje možnosti a umožňuje rýchlejšiu a jednoduchšiu prácu. previesť rozsah do tabuľky pomocou VBA je najjednoduchší spôsob ako použitie pásky.
Predpokladajme, že máme jednoduchý súbor údajov, ktorý obsahuje niektoré položky v stĺpci B , množstvo týchto položiek v stĺpci C a celkové tržby za každú položku v stĺpci D . Teraz chceme previesť rozsah údajov na tabuľku. Ukážeme si rôzne príklady a pokyny krok za krokom na vytvorenie tabuľky z rozsahu B4:D9 pomocou programu Excel VBA.
Použite ListObjects.Add na premenu rozsahu na tabuľku programu Excel. Objekt Tabuľka má charakteristickú vlastnosť ListObjects . ListObjects má techniku, ktorá sa nazýva Pridať Kritériá pre .Add sú tieto.
výraz .Add(SourceType, Source, LinkSource, HasHeaders,Destination)
A použite SourceType xlSrcRange .
1. Excel VBA na generovanie tabuľky z rozsahu
S Excel VBA , môžu používatelia jednoducho používať kód, ktorý funguje ako ponuky Excelu z pásu kariet. Ak chcete použiť VBA kód na vygenerovanie tabuľky z rozsahu, postupujme podľa tohto postupu.
KROKY:
- Najprv prejdite na Vývojár na páse kariet.
- Po druhé, z Kód kliknite na kategóriu Visual Basic otvoriť Editor jazyka Visual Basic . Alebo stlačte Alt + F11 otvoriť Editor jazyka Visual Basic .
- Namiesto toho môžete jednoducho kliknúť pravým tlačidlom myši na pracovný hárok a prejsť na Zobraziť kód Tým sa dostanete aj na Editor jazyka Visual Basic .
- Táto informácia sa zobrazí v Editor jazyka Visual Basic kde napíšeme naše kódy na vytvorenie tabuľky z rozsahu.
- Po tretie, kliknite na Modul z Vložte rozbaľovací panel ponuky.
- Tým sa vytvorí Modul v zošite.
- A skopírujte a vložte VBA kód uvedený nižšie.
Kód VBA:
Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub
- Potom spustite kód kliknutím na RubSub alebo stlačením klávesovej skratky F5 .
Kód nemusíte meniť. Stačí, ak zmeníte rozsah podľa svojich požiadaviek.
- A nakoniec podľa týchto krokov vytvoríte tabuľku z rozsahu B4:D9 .
Vysvetlenie kódu VBA
Sub Create_Table()
Sub je časť kódu, ktorá slúži na spracovanie práce v kóde, ale nevráti žiadnu hodnotu. Je známa aj ako podprocedúra. Našu procedúru teda pomenujeme Create_Table() .
Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1"
Toto je hlavný riadok kódu, pomocou ktorého sa rozsah konvertuje ako tabuľka. Ako už vieme, že ListObjects.Add na premenu rozsahu na tabuľku Excelu. A používame xlSrcRange ako zdrojový typ. Tiež deklarujeme náš rozsah Rozsah("B4:D9") . A nakoniec pomenujte našu tabuľku ako Tabuľka1 .
Koniec Sub
Tým sa postup ukončí.
Prečítajte si viac: Ako aktualizovať rozsah otočnej tabuľky (5 vhodných metód)
2. Konštrukcia tabuľky z rozsahu pomocou programu Excel VBA
Pozrime sa na ďalší príklad na vytvorenie tabuľky z rozsahu pomocou programu Excel VBA.
KROKY:
- Najprv prejdite na Rozvíjať r na páse kariet.
- Po druhé, kliknite na Visual Basic otvoriť Editor jazyka Visual Basic .
- Ďalší spôsob otvorenia Editor jazyka Visual Basic je jednoducho stlačiť Alt + F11 .
- Alebo kliknite pravým tlačidlom myši na hárok a vyberte položku Zobraziť kód .
- Ďalej prejdite na stránku Vložte a vyberte Modul z rozbaľovacej ponuky.
- Otvorí sa okno Visual Basic.
- Potom skopírujte a vložte Kód VBA nižšie.
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
- Ďalej stlačte tlačidlo Kláves F5 alebo kliknite na Run Sub spustiť kód.
- A dostanete výsledok, ktorý je zobrazený na obrázku Metóda 1 .
Vysvetlenie kódu VBA
Dim tb2 As Range Dim wsht As Worksheet
Stránka DIM vyhlásenie v VBA odkazuje na " vyhlásiť, " a musí sa použiť na deklaráciu premennej. Takže deklarujeme náš rozsah na tb2 a pracovný hárok na ws .
Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet
VBA Set nám jednoducho umožňuje vyhnúť sa tomu, aby sme pri spúšťaní kódu museli znova a znova zadávať rozsah, ktorý potrebujeme vybrať. Takže náš rozsah nastavíme na aktuálnu oblasť a náš pracovný hárok na aktívny pracovný hárok.
wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2"
Týmto riadkom kódu vytvoríme tabuľku z rozsahu a pomenujeme našu tabuľku Tabuľka2 .
Prečítajte si viac: Ako používať tabuľku programu Excel pomocou VBA (9 možných spôsobov)
3. Vytvorenie tabuľky z rozsahu pomocou VBA v programe Excel
Pozrime sa na ďalší príklad použitia programu Excel VBA na vytvorenie tabuľky z rozsahu.
KROKY:
- Na začiatku vyberte celý rozsah, ktorý chcete previesť na tabuľku.
- Po druhé, kliknite na Vývojár na páse kariet.
- Po tretie, spustite Editor jazyka Visual Basic kliknutím na Visual Basic .
- Prípadne môžete získať prístup k Editor jazyka Visual Basic stlačením Alt + F11 .
- Alebo, kliknutie pravým tlačidlom myši na na hárku a vyberte Zobraziť kód z ponuky.
- Potom vyberte Modul z rozbaľovacieho zoznamu v časti Vložte .
- Zobrazí sa okno Visual Basic.
- Napíš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
- Nakoniec stlačte tlačidlo Kláves F5 na spustenie kódu.
- Tým sa vytvorí tabuľka z rozsahu údajov, ktoré sme získali v Metóda 1 .
Prečítajte si viac: Ako vytvoriť tabuľku v programe Excel (s prispôsobením)
Podobné čítania
- Vypočítaný súčet polí delený počtom v tabuľke Pivot
- Ako znázorniť relatívne rozdelenie frekvencií v programe Excel
- Pivotná tabuľka programu Excel zoskupená podľa týždňov (3 vhodné príklady)
- [Oprava] Nie je možné zoskupiť dátumy v tabuľke Pivot: 4 možné riešenia
- Ako vytvoriť amortizačnú tabuľku v programe Excel (4 metódy)
4. Použitie VBA na vytvorenie dynamickej tabuľky z rozsahu
Pozrime sa na ďalší spôsob generovania tabuľky z rozsahu pomocou programu Excel VBA.
KROKY:
- Ak chcete začať, otvorte stuhu a vyberte položku Vývojár možnosť.
- Potom, ak chcete získať prístup k Editor jazyka Visual Basic , kliknite na Visual Basic .
- Stlačenie Alt + F11 vyvolá aj Editor jazyka Visual Basic .
- Prípadne, kliknutie pravým tlačidlom myši na hárku a vyberte Zobraziť kód zo zobrazenej ponuky.
- Teraz z Vložte rozbaľovacej možnosti, vyberte Modul .
- Potom skopírujte a vložte VBA nasledujúci kód.
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 EndSub
- Kód spustíte stlačením tlačidla F5 kľúč.
- Ako je znázornené v Metóda 1 's ilustráciou, tabuľka bude zostavená z rozsahu.
Vysvetlenie kódu VBA
Sub Create_Dynamic_Table1()
V tomto riadku sa uvádza názov čiastkovej procedúry.
Dim tbOb As ListObject Dim TblRng As Range
Tento dvojriadok sa používa na deklaráciu premennej.
S hárkami("Príklad4")
Stránka S vyhlásením umožňuje vykonať postupnosť príkazov na jednom objekte bez toho, aby bolo potrebné prekvalifikovať názov objektu. S výpis s názvom listu.
lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
Tie slúžia na nájdenie posledného riadku a posledného stĺpca.
Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn))
Rozsah na vytvorenie tabuľky.
Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes)
Vytvorte tabuľku vo vyššie uvedenom rozsahu.
tbOb.Name = "DynamicTable1"
Zadanie názvu tabuľky
tbOb.TableStyle = "TableStyleMedium14"
Zadajte štýl tabuľky.
Prečítajte si viac: Vytvorenie tabuľky v programe Excel pomocou skratky (8 metód)
5. Vytvorte dynamickú tabuľku z rozsahu
Teraz sa pozrite na ďalšiu metódu Excel VBA na vytvorenie tabuľky z rozsahu.
KROKY:
- Ak chcete začať, otvorte stuhu a vyberte Vývojár z rozbaľovacej ponuky.
- Potom vyberte Visual Basic otvoriť Editor jazyka Visual Basic .
- Stránka Editor jazyka Visual Basic môžete tiež otvoriť stlačením Alt + F11 .
- Prípadne môžete kliknutie pravým tlačidlom myši na hárku a vyberte Zobraziť kód z kontextového menu.
- Potom vyberte Modul z Vložte rozbaľovacie menu.
- Potom skopírujte a vložte nasledujúci 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
- Nakoniec spustite kód stlačením F5 na klávesnici a výsledok sa zobrazí v pracovnom hárku.
- A ako sa ukázalo v Metóda 1 'na obrázku sa tabuľka vytvorí z rozsahu.
Prečítajte si viac: Ako dosiahnuť, aby tabuľky programu Excel vyzerali dobre (8 účinných tipov)
6. Použitie programu Excel VBA na vytvorenie dynamickej tabuľky
Preskúmame ďalší spôsob programu Excel VBA na vytvorenie tabuľky z rozsahu.
KROKY:
- Na začiatku prejdite na Vývojár karta> Visual Basic > Vložte > Modul .
- Alebo, kliknutie pravým tlačidlom myši na na pracovnom hárku sa otvorí okno. Z neho prejdite na Zobraziť kód .
- Týmto sa dostanete na Editor jazyka Visual Basic pole, kde môžeme písať makrá VBA.
- Na druhej strane, stlačením Alt + F11 otvorí aj Editor jazyka Visual Basic .
- Potom zadajte 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
- A spustite kód a pozrite si výsledok stlačením tlačidla Kláves F5 .
- A tabuľka sa vytvorí z rozsahu, ako je znázornené na obrázku Metóda 1 .
Prečítajte si viac: Ako vytvoriť tabuľku v programe Excel s údajmi (5 spôsobov)
Záver
Vyššie uvedené metódy vám pomôžu vytvoriť tabuľku z rozsahu v programe Excel. Dúfam, že vám to pomôže! Ak máte akékoľvek otázky, návrhy alebo spätnú väzbu, dajte nám vedieť v sekcii komentárov. Alebo sa môžete pozrieť na naše ďalšie články v ExcelWIKI.com blog!