Excel VBA til at oprette en tabel fra et område (6 eksempler)

  • Del Dette
Hugh West

Under arbejdet med Microsoft Excel kan vi bruge til at undersøge store mængder data. Og at omdanne disse datarækker til en tabel er en af de bedste muligheder. Excel-tabeller giver os mulighed for hurtigt at sortere og filtrere dataene, tilføje nye poster og øjeblikkeligt opdatere diagrammer og PivotTabeller. Og Excel VBA hjælper brugeren med at tilpasse programmet med nogle enkle koder. I denne artikel vil vi se nogle eksempler på Excel VBA for at oprette en tabel fra et interval.

Download arbejdsbog til øvelser

Du kan downloade arbejdsbogen og øve dig med dem.

Opret tabel fra Range.xlsm

6 eksempler på Excel VBA til at oprette en tabel fra et område

Tabeller startede som lister i Excel's menuudgave, men de voksede i funktionalitet i båndvarianterne. Ved at konvertere et dataområde til en tabel udvides mulighederne, så du kan arbejde hurtigere og nemmere. konvertere området til en tabel ved hjælp af VBA er den nemmeste måde end at bruge båndet.

Lad os antage, at vi har et simpelt datasæt, der indeholder nogle elementer i kolonnen B , mængden af disse varer i kolonne C , og det samlede salg for hver vare i kolonne D Nu vil vi konvertere datarækken til en tabel. Lad os demonstrere forskellige eksempler og trinvise instruktioner for at oprette en tabel fra et område B4:D9 med Excel VBA.

Brug ListObjects.Add for at omdanne et område til en Excel-tabelle. Regnearksobjektet har en egenskab ListObjects . ListObjects har en teknik kaldet Tilføj . kriterierne for .Tilføj er som følger.

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

Og brug SourceType xlSrcRange .

1. Excel VBA til at generere en tabel fra et område

Med Excel VBA kan brugerne nemt bruge koden, der fungerer som Excel-menuer fra båndet. For at bruge koden VBA kode til at generere en tabel fra intervallet, lad os følge proceduren ned.

TRIN:

  • Først skal du gå til Udvikler fanen fra farvebåndet.
  • For det andet, fra den Kode kategori, klik på Visual Basic for at åbne den Visual Basic-editor . eller tryk på Alt + F11 for at åbne den Visual Basic-editor .
  • I stedet for at gøre dette kan du bare højreklikke på dit regneark og gå til Se kode Dette vil også føre dig til Visual Basic-editor .

  • Dette vil fremgå af Visual Basic-editor hvor vi skriver vores koder til at oprette en tabel fra et interval.
  • For det tredje skal du klikke på Modul fra den Indsæt drop-down-menulinjen.

  • Dette vil skabe en Modul i din arbejdsbog.
  • Og kopier og indsæt den VBA kode vist nedenfor.

VBA-kode:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Herefter skal du køre koden ved at klikke på RubSub knappen eller ved at trykke på tastaturgenvejen F5 .

Du behøver ikke at ændre koden. Du kan blot ændre intervallet i overensstemmelse med dine behov.

  • Og endelig vil følgende trin oprette en tabel fra området B4:D9 .

Forklaring af VBA-kode

 Sub Create_Table() 

Under er en del af koden, der bruges til at håndtere arbejdet i koden, men som ikke returnerer nogen værdi. Den er også kendt som en underprocedure. Så vi kalder vores procedure Create_Table() .

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

Dette er den vigtigste kodelinje, hvormed intervallet konverteres til en tabel. Som vi allerede ved, at ListObjects.Add til at omdanne et område til en Excel-tabelle. Og vi bruger xlSrcRange som en kildetype. Vi erklærer også vores rækkevidde Range("B4:D9") Og endelig navngiver vi vores tabel som Tabel 1 .

 End Sub 

Dette afslutter proceduren.

Læs mere: Sådan opdaterer du Pivot Table Range (5 egnede metoder)

2. Konstruer tabel fra område ved hjælp af Excel VBA

Lad os se et andet eksempel på at konstruere en tabel fra et område ved hjælp af Excel VBA.

TRIN:

  • Først skal du gå til Udvikle r-fanen fra farvebåndet.
  • For det andet skal du klikke på Visual Basic for at åbne den Visual Basic-editor .
  • En anden måde at åbne den Visual Basic-editor er blot at trykke på Alt + F11 .
  • Eller højreklik på arket, og vælg derefter Se kode .
  • Derefter skal du gå til Indsæt og vælg Modul fra rullemenuen.
  • Dette vil åbne vinduet Visual Basic.
  • Herefter skal du kopiere og indsætte VBA-kode nedenfor.

VBA-kode:

 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 
  • Tryk desuden på F5-tasten eller klik på den Kør under knappen for at køre koden.

  • Og du vil få det resultat, som vist i Metode 1 .

Forklaring af VBA-kode

 Dim tb2 As Range Dim wsht As Worksheet 

DIM erklæring i VBA henviser til " erklære, ", og det skal bruges til at deklarere en variabel. Så vi deklarerer vores interval til tb2 og regneark til ws .

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

VBA Set giver os simpelthen mulighed for at undgå at skulle indtaste det område, vi skal vælge igen og igen, når vi kører koden. Så vi indstiller vores område til det aktuelle område og vores regneark til det aktive regneark.

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

Med denne kodelinje opretter vi tabellen fra intervallet og navngiver vores tabel Tabel 2 .

Læs mere: Sådan bruger du en Excel-tabelle med VBA (9 mulige måder)

3. Opret tabel fra område med VBA i Excel

Lad os se på et andet eksempel på at bruge Excel VBA til at oprette en tabel fra et område.

TRIN:

  • Vælg først hele det område, som du vil konvertere til en tabel, for at begynde.
  • For det andet skal du klikke på Udvikler på fanen på farvebåndet.
  • For det tredje skal du starte den Visual Basic-editor ved at klikke på Visual Basic .
  • Alternativt kan du få adgang til Visual Basic-editor ved at trykke på Alt + F11 .
  • Eller, højreklik på på arket og vælg Se kode fra menuen.
  • Vælg derefter den Modul fra rullemenuen under Indsæt .
  • Vinduet med Visual Basic vises.
  • Skriv koden der.

VBA-kode:

 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 
  • Endelig skal du trykke på F5-tasten for at køre koden.

  • Og dette vil oprette en tabel fra det dataramme, som vi fik i Metode 1 .

Læs mere: Hvordan man laver en tabel i Excel (med tilpasning)

Lignende læsninger

  • Summen af beregnede felter divideret med antal i pivottabel
  • Sådan illustreres Relativ frekvensfordeling i Excel
  • Excel pivottabel gruppe efter uge (3 passende eksempler)
  • [Fix] Kan ikke gruppere datoer i pivottabel: 4 mulige løsninger
  • Hvordan man laver en afskrivningstabel i Excel (4 metoder)

4. Anvend VBA til at oprette dynamisk tabel fra område

Lad os se på en anden måde at generere en tabel fra et område ved hjælp af Excel VBA.

TRIN:

  • For at starte skal du åbne båndet og vælge Udvikler mulighed.
  • For at få adgang til den Visual Basic-editor , klik på Visual Basic .
  • Tryk på Alt + F11 vil også få vist Visual Basic-editor .
  • Alternativt, højreklik på arket og vælg Se kode fra den menu, der vises.
  • Nu, fra den Indsæt rullemenuen, vælg Modul .
  • Kopier og indsæt derefter VBA kode, der følger.

VBA-kode:

 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 EndUnder 
  • Kør koden ved at trykke på F5 nøgle.

  • Som illustreret i Metode 1 's illustration, vil bordet blive bygget ud fra sortimentet.

Forklaring af VBA-kode

 Sub Create_Dynamic_Table1() 

Denne linje angiver navnet på underproceduren.

 Dim tbOb As ListObject Dim TblRng As Range 

Denne to-linje bruges til variabeldeklaration.

 Med ark("Eksempel4") 

Med erklæring giver dig mulighed for at lave en sekvens af udsagn om et enkelt objekt uden at skulle omformulere objektets navn. Så vi omslutter Med erklæring med arkets navn.

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

Disse er til henholdsvis at finde den sidste række og den sidste kolonne.

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

Område til oprettelse af tabellen.

 Sæt tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) 

Opret en tabel i det ovenfor angivne område.

 tbOb.Name = "DynamicTable1" 

Angivelse af bordnavn

 tbOb.TableStyle = "TableStyleMedium14" 

Angiv bordstil.

Læs mere: Opret tabel i Excel ved hjælp af genvej (8 metoder)

5. Lav en dynamisk tabel fra området

Se nu på en anden Excel VBA-metode til at oprette en tabel fra et område.

TRIN:

  • For at begynde skal du åbne båndet og vælge Udvikler fra rullemenuen.
  • Vælg derefter Visual Basic for at åbne den Visual Basic-editor .
  • Visual Basic-editor kan også tilgås ved at trykke på Alt + F11 .
  • Alternativt kan du højreklik på arket og vælg Se kode fra genvejsmenuen.
  • Derefter skal du vælge Modul fra den Indsæt drop-down-menuen.
  • Kopier og indsæt derefter følgende VBA-kode.

VBA-kode:

 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 
  • Til sidst skal du køre koden ved at trykke på F5 på dit tastatur, og du kan se resultatet i dit regneark.

  • Og som vist i Metode 1 's illustration, vil tabellen blive konstrueret ud fra intervallet.

Læs mere: Sådan får du Excel-tabeller til at se godt ud (8 effektive tips)

6. Brug Excel VBA til at oprette en dynamisk tabel

Lad os undersøge en anden Excel VBA-måde til at konstruere en tabel ud fra et område.

TRIN:

  • I begyndelsen skal du gå til Udvikler faneblad> Visual Basic > Indsæt > Modul .
  • Eller, højreklik på på regnearket vil åbne et vindue, hvorfra du kan gå til Se kode .
  • Og dette fører dig til den Visual Basic-editor feltet, hvor vi kan skrive VBA-makroer.
  • På den anden side kan du ved at trykke på Alt + F11 vil også åbne den Visual Basic-editor .
  • Derefter skal du skrive VBA kode.

VBA-kode:

 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 
  • Og kør koden for at se resultatet ved at trykke på F5-tasten .

  • Og tabellen vil blive oprettet fra området som vist i billedet af Metode 1 .

Læs mere: Sådan opretter du en tabel i Excel med data (5 måder)

Konklusion

Ovenstående metoder vil hjælpe dig med at oprette en tabel fra et område i Excel. Håber dette vil hjælpe dig! Hvis du har spørgsmål, forslag eller feedback, så lad os vide det i kommentarfeltet. Eller du kan kaste et blik på vores andre artikler i ExcelWIKI.com blog!

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.