Excel VBA na vytvorenie tabuľky z rozsahu (6 príkladov)

  • Zdieľajte To
Hugh West

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.xlsm

6 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!

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.