Inhoudsopgave
In dit artikel laten we zien hoe je plaats gegevens in een Excel tabel met behulp van VBA code Met behulp van Excel's ingebouwde eigenschappen en methoden kunnen we de functionaliteit van het toevoegen of overschrijven van gegevens in een tabel gemakkelijk faciliteren. Laten we in de voorbeelden duiken om een duidelijk begrip te krijgen van de methoden samen met de VBA-codes.
Download Praktijk Werkboek
Download dit oefenwerkboek om te oefenen terwijl u dit artikel leest.
Gegevens invoegen in tabel.xlsm4 voorbeelden van gegevens invoegen in tabel met VBA in Excel
Laten we zeggen dat we een verkooplijst van een winkel met details als de besteldatum, productnaam, hoeveelheid, eenheidsprijs en totaalprijs.
Een tabel maken in Excel
Naar draai de dataset in een Excel tabel doe het volgende...
- Selecteer de hele dataset .
- Ga naar aan de Tabblad invoegen van de Excel Lint .
- Klik op op de Tabel optie.
- Klik ten slotte op de OK-toets in de Tabel aanmaken venster.
- We hebben met succes omgebouwd de dataset in een Excel tabel .
Om gegevens in een Excel-tabel in te voegen, gebruiken we verschillende VBA-functies en eigenschappen in onze code Het volgende hoofdstuk beschrijft hoe u open en code schrijven in de visual basic editor.
Code schrijven in Visual Basic Editor
Volg de stappen naar open de visual basic editor en schrijf daar wat code.
- Ga naar de Ontwikkelaar tabblad van de Excel Lint .
- Klik op de Visual Basic optie.
- In de Visual Basic voor toepassingen venster, klik op de Dropdown invoegen naar selecteer de Nieuwe module
Nu dat een nieuwe module is geopend , schrijf daar wat code en druk op F5 naar rennen.
1. Gegevens invoegen in de laatste rij van een tabel met VBA in Excel
In dit voorbeeld gebruiken we een VBA code naar voeg toe a nieuwe rij aan de bodem van de tabel en dan gegevens invoegen In onze tabel hebben we 4 rijen van gegevens Om de 5e. , kopie en pasta de volgende code in de visual basic editor.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = "1/1/2022" .Range(2) = "Apple" .Range(3) = 5 .Range(4) = 1.77 End With End Sub
Druk op F5 naar ren de code.
We hebben ingevoegd a nieuwe rij van gegevens aan de bodem van de bestaande tabel .
Code Uitleg:
- In onze code gebruikten we de Object ListObjects van VBA Excel naar pak de tabel met zijn naam Voor meer informatie, elke van de ListObject objecten is een tabel op de werkblad Om de naam van de tabel te krijgen, klik op de tabel >> klik op de Tabblad Tabelontwerp in de Excel Lint.
- Vervolgens hebben we de ListRows . Methode toevoegen om een nieuwe rij in de tabel . dit methode neemt twee argumenten : Positie en AlwaysInsert .
Door een geheel getal kunnen we de relatieve positie van de nieuw toegevoegde rij in de tabel In dit voorbeeld blanco gelaten de positie-argument als gevolg daarvan, een nieuwe rij is toegevoegd aan de bodem van de tabel .
- Ten slotte zetten we de gegevens in elke van de cellen van de nieuwe toegevoegde rij In dit geval waren de gegevens .Range(1) = "1/1/2022" als OrderDate, .Range(2) = "Apple" als Product, .Range(3) = 5 als Hoeveelheid, .Range(4) = 1.77 als Eenheidsprijs.
Lees meer: Excel tabelnaam: alles wat u moet weten
2. Een VBA-code uitvoeren om gegevens in te voegen in een specifieke rij van een tabel in Excel
In deze illustratie gaan we een rij gegevens toevoegen op een specifieke rij ten opzichte van de tabel met hetzelfde stukje code dat we in het bovenstaande voorbeeld hebben gebruikt. In dit geval hoeven we alleen maar specificeer de Positie argument van de Methode ListRows.Add in onze code. Laten we zeggen dat we verkoopgegevens toevoegen voor Oranje met details in rij nummer 3 relatief aan de bestaande tabel Om dit te laten gebeuren, kopie en pasta het volgende code in de visuele code editor.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.14 End With End Sub
Het uitvoeren van de code door door op F5 te drukken. de verkoopgegevens voor Oranje in de 3e rij ten opzichte van de tabel .
Lees meer: Excel VBA-code voor elke rij in een tabel (toevoegen, overschrijven, verwijderen, enz.)
Vergelijkbare lezingen
- Berekende veldsom gedeeld door aantal in draaitabel
- Hoe de relatieve frequentieverdeling illustreren in Excel
- [Fix] Kan data niet groeperen in draaitabel: 4 mogelijke oplossingen
- Hoe de procentuele frequentieverdeling in Excel te berekenen (2 methoden)
- Draaitabel niet verversen (5 problemen en oplossingen)
3. Gegevens invoegen en overschrijven in een tabel met VBA in Excel
Hier laten we zien hoe je overschrijven de bestaande data in een tabel in plaats daarvan van het invoegen van a nieuwe rij van gegevens Daarvoor moeten we de ListObject.ListRows eigenschap van Excel in plaats daarvan van de ListRows.Add eigenschap we gebruikten eerder . de ListObject.ListRows eigenschap neemt ook rijnummer ( Integer waarde ) als zijn argument Laten we zeggen dat we verandering de eenheidsprijs van de Oranje van 2.14 tot 2.35 dat we ingevoegd in de eerder voorbeeld . Kopie en pasta onderstaande code in de visual basic editor.
Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.35 End With End Sub
In onze code, we stel de argument voor de ListObject.ListRows eigenschap als 3 waar de gegevens voor Oranje behoort tot . Run de code door op F5 en zie de verschil .
De code heeft veranderd alleen de eenheidsprijs van de gegevens op rij nummer 3 relatief aan de tabel .
Lees meer: Rijen en kolommen invoegen of verwijderen uit Excel-tabellen
4. Een VBA-code uitvoeren om gegevens in te voegen in een Excel-tabel op basis van gebruikersinvoer
In dit voorbeeld gaan we plaats de tabelnaam en verkoopgegevens van een product als gebruikersinvoer liever dan hardcode het in de VBA-code elke keer Volg de onderstaande instructies om dit te bereiken.
- Kopie en pasta de volgende code in de visuele code editor.
Sub InsertDataIntoTable() Dim tableName As ListObject Dim A, B, C, D, tName As String tName = Application.InputBox(Prompt:="Naam van de tabel: ", Type:=2) A = Application.InputBox(Prompt:="Orderdatum: ", Type:=2) B = Application.InputBox(Prompt:="Productnaam: ", Type:=2) C = Application.InputBox(Prompt:="Hoeveelheid: ", Type:=2) D = Application.InputBox(Prompt:="Prijs per eenheid: ",Type:=2) Set tableName = ActiveSheet.ListObjects(tName) Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = A .Range(2) = B .Range(3) = C .Range(4) = D End With End Sub
- Druk op F5 naar ren de code.
- Zet de naam van de tabel in de invoerveld ( Tabel 1 in dit voorbeeld) en druk op OK.
- Zet dan de waarden voor Oder Date, Product Name, Quantity, en Prijs per eenheid in de invoervelden dat verschenen achtereenvolgens In dit voorbeeld zijn de gebruikte waarden 1/1/2022, Oranje, 3, en 35.
- Als gevolg daarvan hebben we een nieuwe rij met de ingevoegde gegevens aan de bodem van de tabel .
Lees meer: Tips voor Excel-tabelopmaak - Verander het uiterlijk van de tabel
Opmerkingen
Wanneer we toegevoegd a nieuwe rij met gegevens met behulp van VBA-code, de formaat en formules Krijg gedragen aan de nieuwe rij automatisch In ons voorbeeld is de TotalPrice kolom uitgangen de product van de kolommen Hoeveelheid en Prijs per eenheid We hebben net alleen ingevoegd de Hoeveelheid en Eenheidsprijswaarden de nieuwe rij was ingevoegd met de product van deze twee waarden in de Totale Prijs kolom.
Conclusie
Nu weten we hoe we gegevens kunnen invoegen in een Excel-tabel met behulp van VBA-code. Hopelijk helpt het u om deze methoden met meer vertrouwen te gebruiken. Eventuele vragen of suggesties vergeet ze niet in het commentaarveld hieronder te zetten.