Excel VBA om tabel te maken van bereik (6 voorbeelden)

  • Deel Dit
Hugh West

Tijdens het werken met Microsoft Excel En die gegevensreeksen omzetten in een tabel is een van de beste opties. Met Excel-tabellen kunnen we de gegevens snel sorteren en filteren, nieuwe records toevoegen en grafieken en draaitabellen onmiddellijk bijwerken. En Excel VBA helpt de gebruiker om de toepassing aan te passen met slechts enkele eenvoudige codes. In dit artikel zullen we enkele voorbeelden zien van Excel VBA om een tabel te maken van een reeks.

Download Praktijk Werkboek

Je kunt het werkboek downloaden en ermee oefenen.

Tabel maken van bereik.xlsm

6 Voorbeelden van Excel VBA om een tabel te maken van een bereik

Tabellen begonnen als lijsten in de menu-editie van Excel, maar die groeiden in functionaliteit in de lintvarianten. Door een gegevensbereik om te zetten in een tabel worden de mogelijkheden uitgebreid, zodat u sneller en gemakkelijker kunt werken. de reeks omzetten in een tabel met behulp van VBA is de gemakkelijkste manier dan het lint te gebruiken.

Stel, we hebben een eenvoudige dataset die enkele items bevat in kolom B , de hoeveelheid van die artikelen in kolom C en de totale verkoop voor elk artikel in kolom D Nu willen we het gegevensbereik omzetten in een tabel. Laten we verschillende voorbeelden en stapsgewijze instructies demonstreren om een tabel te maken van een bereik B4:D9 met Excel VBA.

Gebruik ListObjects.Add om een bereik om te zetten in een Excel tabel. Het Spreadsheet object heeft een karakteristiek ListObjects . ListObjects heeft een techniek genaamd Toevoegen De criteria voor .Toevoegen zijn als volgt.

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

En gebruik het SourceType xlSrcRange .

1. Excel VBA om tabel uit bereik te genereren

Met Excel VBA kunnen gebruikers gemakkelijk de code gebruiken die werkt als excel menu's van het lint. Om de VBA code om een tabel uit het bereik te genereren, laten we de procedure volgen.

STAPPEN:

  • Ga eerst naar de Ontwikkelaar tabblad van het lint.
  • Ten tweede, van de Code categorie, klik op Visual Basic om de Visual Basic-editor Of druk op Alt + F11 om de Visual Basic-editor .
  • In plaats daarvan kunt u gewoon met de rechtermuisknop op uw werkblad klikken en gaan naar Code bekijken Dit brengt u ook naar Visual Basic-editor .

  • Dit zal verschijnen in de Visual Basic-editor waar we onze codes schrijven om een tabel te maken van een reeks.
  • Klik ten derde op Module van de Plaats uitklapmenu.

  • Dit zal een Module in je werkboek.
  • En kopieer en plak de VBA onderstaande code.

VBA-code:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Daarna voert u de code uit door op de RubSub of de sneltoets F5 .

U hoeft de code niet te veranderen. U kunt alleen het bereik aanpassen aan uw eisen.

  • En, tenslotte, zal het volgen van de stappen een tabel maken van bereik B4:D9 .

VBA-code uitleg

 Sub Create_Table() 

Sub is een deel van de code dat wordt gebruikt om het werk in de code af te handelen, maar geen waarde teruggeeft. Het is ook bekend als subprocedure. Dus we noemen onze procedure Create_Table() .

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

Dit is de belangrijkste coderegel waarmee het bereik wordt omgezet als een tabel. Zoals we al weten dat ListObjects.Add om van een bereik een Excel-tabel te maken. En we gebruiken xlSrcRange als brontype. Ook verklaren we ons bereik Bereik("B4:D9") En tot slot, noem onze tabel als Tabel 1 .

 Einde Sub 

Dit beëindigt de procedure.

Lees meer: Hoe draaitabelbereik bijwerken (5 geschikte methoden)

2. Tabel maken van bereik met Excel VBA

Laten we een ander voorbeeld bekijken om een tabel te maken van een bereik met behulp van Excel VBA.

STAPPEN:

  • Ga eerst naar de Ontwikkelen r tabblad van het lint.
  • Ten tweede, klik op Visual Basic om de Visual Basic-editor .
  • Een andere manier om de Visual Basic-editor is gewoon op Alt + F11 .
  • Of klik met de rechtermuisknop op het blad en selecteer dan Code bekijken .
  • Ga vervolgens naar Plaats en selecteer Module uit het drop-down menu.
  • En dit zal het visual basic venster openen.
  • Kopieer en plak daarna de VBA-code hieronder.

VBA-code:

 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 
  • Druk verder op de F5 toets of klik op de Run Sub om de code uit te voeren.

  • En u krijgt het resultaat zoals getoond in Methode 1 .

VBA-code uitleg

 Dim tb2 als Bereik Dim wsht als Werkblad 

De DIM verklaring in VBA verwijst naar " verklaren, " en het moet gebruikt worden om een variabele te declareren. Dus, we declareren ons bereik op tb2 en werkblad naar ws .

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

Met VBA Set kunnen we gewoon voorkomen dat we bij het uitvoeren van de code steeds opnieuw het te kiezen bereik moeten intypen. We stellen dus ons bereik in op de huidige regio en ons werkblad op het actieve werkblad.

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

Met deze regel code creëren we de tabel uit het bereik en geven we onze tabel de naam Tabel2 .

Lees meer: Een Excel-tabel gebruiken met VBA (9 mogelijke manieren)

3. Tabel maken van bereik met VBA in Excel

Laten we een ander voorbeeld bekijken van het gebruik van Excel VBA om een tabel te maken van een bereik.

STAPPEN:

  • Om te beginnen selecteert u het hele bereik dat u wilt omzetten in een tabel.
  • Ten tweede, klik op de Ontwikkelaar tabblad op het lint.
  • Ten derde, start de Visual Basic-editor door te klikken op Visual Basic .
  • U kunt ook toegang krijgen tot de Visual Basic-editor door op Alt + F11 .
  • Of, klik met de rechtermuisknop op op het blad en kies Code bekijken uit het menu.
  • Kies vervolgens de Module uit de drop-down box onder Plaats .
  • En het visual basic venster verschijnt.
  • Schrijf de code daar.

VBA-code:

 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 
  • Druk ten slotte op de F5 toets om de code uit te voeren.

  • En dit zal een tabel maken van het gegevensbereik zoals we kregen in Methode 1 .

Lees meer: Een tabel maken in Excel (met aanpassingen)

Vergelijkbare lezingen

  • Berekende veldsom gedeeld door aantal in draaitabel
  • Hoe de relatieve frequentieverdeling illustreren in Excel
  • Excel draaitabel Groep per week (3 geschikte voorbeelden)
  • [Fix] Kan data niet groeperen in draaitabel: 4 mogelijke oplossingen
  • Een afschrijvingstabel maken in Excel (4 methoden)

4. VBA toepassen om dynamische tabel uit bereik te maken

Laten we eens kijken naar een andere manier om een tabel te genereren uit een bereik met behulp van Excel VBA.

STAPPEN:

  • Om te beginnen opent u het lint en selecteert u de Ontwikkelaar optie.
  • Dan, om toegang te krijgen tot de Visual Basic-editor klik dan op Visual Basic .
  • Druk op Alt + F11 zal ook de Visual Basic-editor .
  • Als alternatief, klik met de rechtermuisknop op het blad en kies Code bekijken uit het menu dat verschijnt.
  • Nu, van de Plaats drop-down optie, kies Module .
  • Kopieer en plak dan de VBA code die volgt.

VBA-code:

 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 
  • Voer de code uit door op de F5 sleutel.

  • Zoals geïllustreerd in Methode 1 van de illustratie, wordt de tafel opgebouwd uit de reeks.

VBA-code uitleg

 Sub Create_Dynamic_Table1() 

Deze regel geeft de naam van de subprocedure aan.

 Dim tbOb As ListObject Dim TblRng As Range 

Deze twee regels worden gebruikt voor de declaratie van variabelen.

 Met Sheets("Voorbeeld4") 

De Met verklaring maakt het mogelijk om een reeks uitspraken te doen over een enkel object zonder de naam van het object opnieuw te hoeven bepalen. Dus, we sluiten de Met verklaring met de naam van het blad.

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

Die zijn bedoeld om respectievelijk de laatste rij en de laatste kolom te vinden.

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

Bereik om de tabel te maken.

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

Maak een tabel in het bovengenoemde bereik.

 tbOb.Name = "DynamicTable1". 

Tabelnaam opgeven

 tbOb.TableStyle = "TableStyleMedium14". 

Specificeer tabelstijl.

Lees meer: Tabel maken in Excel met snelkoppeling (8 methoden)

5. Dynamische tabel maken van bereik

Bekijk nu een andere Excel VBA-methode om een tabel te maken van een bereik.

STAPPEN:

  • Om te beginnen opent u het lint en kiest u Ontwikkelaar uit het drop-down menu.
  • Selecteer vervolgens Visual Basic om de Visual Basic-editor .
  • De Visual Basic-editor kan ook worden geopend door op Alt + F11 .
  • U kunt ook klik met de rechtermuisknop op het blad en selecteer Code bekijken uit het pop-up menu.
  • Selecteer daarna Module van de Plaats uitklapmenu.
  • Kopieer en plak dan de volgende VBA-code.

VBA-code:

 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 
  • Voer tenslotte de code uit door op F5 op je toetsenbord en je ziet het resultaat in je werkblad.

  • En, zoals aangetoond in Methode 1 van de illustratie wordt de tabel opgebouwd uit het bereik.

Lees meer: Hoe Excel-tabellen er goed uitzien (8 doeltreffende tips)

6. Excel VBA gebruiken om een dynamische tabel te maken

Laten we een andere Excel VBA-manier verkennen om een tabel te maken van een bereik.

STAPPEN:

  • Ga in het begin naar de Ontwikkelaar tab> Visual Basic > Plaats > Module .
  • Of, rechts klikken op op het werkblad zal een venster openen. Ga van daaruit naar het Code bekijken .
  • En, dit brengt je naar de Visual Basic-editor veld, waar we VBA macro's kunnen schrijven.
  • Aan de andere kant, door op Alt + F11 zal ook de Visual Basic-editor .
  • Daarna typt u de VBA code.

VBA-code:

 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 
  • En voer de code uit om het resultaat te zien door op de knop F5 toets .

  • En de tabel wordt gemaakt van het bereik zoals in de afbeelding van Methode 1 .

Lees meer: Een tabel met gegevens maken in Excel (5 manieren)

Conclusie

De bovenstaande methoden zullen u helpen om een tabel te maken van een bereik in Excel. Hopelijk helpt dit u! Als u vragen, suggesties of feedback heeft, laat het ons dan weten in de commentaarsectie. Of u kunt een blik werpen op onze andere artikelen in de ExcelWIKI.com blog!

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.