Obsah
V tomto článku si ukážeme, jak. vložit data do Excel tabulka pomocí VBA kód . Pomocí vestavěných vlastností a metod aplikace Excel si můžeme usnadnit funkci přidávání nebo přepisování dat do tabulky. Ponořme se do příkladů, abychom metody spolu s kódy VBA jasně pochopili.
Stáhnout cvičebnici
Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.
Vložení dat do tabulky.xlsm4 příklady vkládání dat do tabulky pomocí VBA v aplikaci Excel
Řekněme, že máme prodejní seznam obchodu s podrobnostmi, jako je datum objednávky, název produktu, množství, jednotková cena a celková cena.
Jak vytvořit tabulku v aplikaci Excel
Na otočit . datová sada do Tabulka aplikace Excel , proveďte následující.
- Vyberte na celý soubor dat .
- Přejít na na Karta Insert z Pás karet aplikace Excel .
- Klikněte na na Tabulka možnost.
- Nakonec klikněte na Tlačítko OK v Okno Vytvořit tabulku.
- Úspěšně jsme konvertované na datová sada do Tabulka aplikace Excel .
Pro vložení dat do tabulky aplikace Excel použijeme několik způsobů. Funkce VBA a vlastnosti v našem kód V následující části je popsáno, jak otevřít a napsat kód v editor Visual Basic.
Psaní kódu v editoru Visual Basic
Sledujte kroky na otevřít na editor Visual Basic a napište tam nějaký kód.
- Přejděte na Vývojář na kartě Pás karet aplikace Excel .
- Klikněte na na Možnost Visual Basic.
- V Visual Basic pro aplikace klikněte na Vložení rozevíracího seznamu na vybrat na Nový modul
Nyní, když nový modul je otevřeno , napište tam nějaký kód a stiskněte F5 na běh.
1. Vložení dat na poslední řádek tabulky pomocí VBA v aplikaci Excel
V tomto příkladu použijeme VBA kód na přidat a nový řádek na spodní část o tabulka a pak vložit data V naší tabulce máme 4 řádky z data . Chcete-li přidat 5. , kopírovat a vložit následující kód do editoru Visual Basic.
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
Stiskněte klávesu F5 na spustit na kód.
My jsme vložené stránky a nový řádek z data na spodní část o stávající tabulka .
Vysvětlení kódu:
- V našem kódu jsme použili Objekt ListObjects VBA Excelu na uchopit na tabulka se svým název Další informace, každý o ListObject objektů je tabulka na pracovní list . Chcete-li získat název tabulky, klikněte na na tabulka >> klikněte na na Karta Návrh tabulky v Pás karet aplikace Excel.
- Pak jsme použili ListRows . Přidat metodu přidat nový řádek v tabulka . metoda bere dva argumenty : Pozice a AlwaysInsert .
Zadáním celé číslo , můžeme zadat relativní poloha o nově přidaný řádek v tabulka V tomto příkladu ponecháno prázdné . argument pozice , v důsledku čehož se nový řádek byla přidáno na spodní část o tabulka .
- Nakonec nastavíme data v každý o buňky nově přidaný řádek V tomto případě byly údaje .Range(1) = "1/1/2022" jako OrderDate, .Range(2) = "Apple" jako Výrobek, .Range(3) = 5 jako Množství, .Range(4) = 1.77 jako Jednotková cena.
Přečtěte si více: Název tabulky aplikace Excel: vše, co potřebujete vědět
2. Spuštění kódu VBA pro vložení dat do určitého řádku tabulky v aplikaci Excel
V tomto příkladu budeme přidat řádek dat na konkrétní řádek vzhledem k tabulce pomocí stejného kódu, který jsme použili ve výše uvedeném příkladu. V tomto případě musíme pouze zadejte . Argument pozice o Metoda ListRows.Add v našem kódu. Řekněme, že chceme přidat údaje o prodeji pro Orange s podrobnostmi v řádek číslo 3 relativní na stávající tabulka . Aby k tomu došlo, kopírovat a vložit následující kód do vizuálního editoru kódu.
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
Spuštění kódu podle stisknutí klávesy F5 vloží . údaje o prodeji pro Orange v 3. řádek vzhledem k tabulce .
Přečtěte si více: Kód VBA aplikace Excel pro každý řádek tabulky (přidání, přepsání, odstranění atd.)
Podobná čtení
- Součet vypočtených polí dělený počtem v tabulce Pivot
- Jak znázornit relativní rozdělení četností v aplikaci Excel
- [Oprava] Nelze seskupit data v tabulce Pivot: 4 možná řešení
- Jak vypočítat procentuální rozdělení četností v aplikaci Excel (2 metody)
- Neobnovení otočné tabulky (5 problémů & řešení)
3. Vkládání a přepisování dat do tabulky pomocí VBA v aplikaci Excel
Zde si ukážeme, jak přepsat na existující údaje v a tabulka místo toho z vkládání a nový řádek z data K tomu je třeba použít příkaz Vlastnost ListObject.ListRows aplikace Excel místo toho o Vlastnost ListRows.Add jsme použili dříve . Vlastnost ListObject.ListRows také bere číslo řádku ( Celé číslo hodnota ) jako jeho argument Řekněme, že chceme změna . jednotková cena o Orange z 2,14 na 2,35 že jsme vložené stránky v předchozí příklad . Kopírovat a vložit následující kód v editoru Visual Basic.
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
V našem kódu, my nastavit . argument pro Vlastnost ListObject.ListRows jako 3 kde je data pro Orange patří do . . kód stisknutím F5 a podívejte se na rozdíl .
Kód má změněno pouze jednotková cena o data na adrese řádek číslo 3 relativní na tabulka .
Přečtěte si více: Jak vložit nebo odstranit řádky a sloupce z tabulky aplikace Excel
4. Spuštění kódu VBA pro vložení dat do tabulky aplikace Excel na základě uživatelského vstupu
V tomto příkladu budeme vložit . název tabulky a podrobnosti o prodeji o produkt jako uživatelský vstup spíše než pevný kód v Kód VBA pokaždé . Postupujte podle níže uvedených pokynů.
- Kopírovat a vložit následující kód do vizuálního editoru kódu.
Sub InsertDataIntoTable() Dim tableName As ListObject Dim A, B, C, D, tName As String tName = Application.InputBox(Prompt:="Název tabulky: ", Type:=2) A = Application.InputBox(Prompt:="Datum objednávky: ", Type:=2) B = Application.InputBox(Prompt:="Název produktu: ", Type:=2) C = Application.InputBox(Prompt:="Množství: ", Type:=2) D = Application.InputBox(Prompt:="Jednotková cena: ",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
- Tisk F5 na spustit kód.
- Vložte . název o tabulka v vstupní pole ( Tabulka1 , v tomto příkladu) a stiskněte DOBŘE.
- Pak vložte hodnoty pro Datum objednávky, název produktu, množství, a Jednotková cena v vstupní pole že se objevovaly postupně V tomto příkladu jsme použili tyto hodnoty. 1/1/2022, Orange, 3, a 35.
- Výsledkem je, že máme nový řádek s vložená data na spodní část o tabulka .
Přečtěte si více: Tipy pro formátování tabulek aplikace Excel - změna vzhledu tabulky
Poznámky
Když jsme přidáno a nový řádek s data pomocí kódu VBA. formát a vzorce získejte přenášeno na nový řádek automaticky V našem příkladu je Celková cena sloupec výstupy na produkt sloupců Množství a Jednotková cena ... Jen jsme... pouze vložené . Množství a Hodnoty jednotkových cen ; nový řádek byl vložené stránky s produkt těchto dvě hodnoty v Sloupec Celková cena.
Závěr
Nyní již víme, jak vkládat data do tabulky Excelu pomocí kódu VBA. Doufejme, že vám to pomůže tyto metody používat s větší jistotou. Jakékoli dotazy nebo připomínky nezapomeňte uvést v komentáři níže.