Excel VBA: Wstawianie danych do tabeli (4 przykłady)

  • Udostępnij To
Hugh West

W tym artykule zilustrujemy, jak wstawić dane do Excel tabela używając VBA kod Z pomocą wbudowanych właściwości i metod Excela możemy ułatwić funkcjonalność dodawania lub nadpisywania danych do tabeli w prosty sposób. Zanurzmy się w przykładach, aby uzyskać jasne zrozumienie metod wraz z kodami VBA.

Pobierz Zeszyt ćwiczeń

Pobierz ten zeszyt ćwiczeń, aby ćwiczyć podczas czytania tego artykułu.

Wstawianie danych do tabeli.xlsm

4 Przykłady wstawiania danych do tabeli za pomocą VBA w Excelu

Powiedzmy, że mamy lista sprzedaży sklepu z takimi szczegółami jak data zamówienia, nazwa produktu, ilość, cena jednostkowa i cena całkowita.

Jak utworzyć tabelę w programie Excel

Do obrót the zbiór danych do Tabela w Excelu wykonaj następujące czynności.

  • Wybierz the cały zbiór danych .
  • Wejdź na stronę do Zakładka "Wstaw od Wstążka programu Excel .
  • Kliknij na Tabela opcja.

  • Na koniec kliknij przycisk Przycisk OK w Okno Create Table.

  • Udało nam się przekształcona the zbiór danych do Tabela w Excelu .

Aby wstawić dane do tabeli Excela, użyjemy kilku Funkcje VBA oraz właściwości w naszym kod W poniższym rozdziale opisano, jak otwórz oraz napisać kod w edytor visual basic.

Napisz kod w edytorze Visual Basic

Podążaj za kroki do otwórz the edytor visual basic i napisać tam jakiś kod.

  • Idź do Deweloper zakładka z Wstążka programu Excel .
  • Kliknij the Opcja Visual Basic.

  • W Visual Basic for Applications kliknij przycisk Wstawianie rozwijania do wybierz the Nowy moduł

Teraz, gdy nowy moduł jest otwarty , wpisz tam jakiś kod i naciśnij F5 do bieg.

1. Wstawianie danych w ostatnim wierszu tabeli za pomocą VBA w Excelu

W tym przykładzie użyjemy VBA kod do dodać a nowy rząd na dół z tabela a następnie wstawić dane do tego. W naszej tabeli mamy 4 rzędy z dane Aby dodać 5. , kopia oraz pasta następujący kod w edytorze 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. 

Naciśnij F5 do uruchomić the kod.

My wstawiony a nowy rząd z dane na dół z istniejąca tabela .

Kod Wyjaśnienie:

  • W naszym kodzie użyliśmy Obiekt ListObjects VBA Excela do złapać the tabela z jego nazwa Więcej informacji, każdy z ListObject obiekty to tabela na arkusz roboczy Aby uzyskać nazwę tabeli, kliknij na tabela >> kliknij na Zakładka Projektowanie stołu w Wstążka Excela.

  • Następnie użyliśmy ListRows . Dodaj metodę dodać nowy rząd w tabela . To metoda przyjmuje dwa argumenty : Pozycja oraz AlwaysInsert .

Wprowadzając liczba całkowita , możemy określić. położenie względne z nowo dodany rząd w tabela W tym przykładzie pozostawiony pusty the argument pozycji , w efekcie a nowy rząd był dodano na dół z tabela .

  • Na koniec ustawiamy dane w każdy z komórki z nowo dodany rząd W tym przypadku dane były .Range(1) = "1/1/2022" jako OrderDate, .Range(2) = "Apple" jako Produkt, .Range(3) = 5 jako Ilość, .Zakres(4) = 1.77 jako Cena jednostkowa.

Read More: Nazwa tabeli w Excelu: Wszystko, co musisz wiedzieć

2. Uruchom kod VBA, aby wstawić dane do określonego wiersza tabeli w Excelu

Na tej ilustracji, zamierzamy dodać wiersz danych na określony wiersz w stosunku do tabeli używając tego samego fragmentu kodu, którego użyliśmy w powyższym przykładzie. W tym przypadku musimy jedynie podać the Argument dotyczący pozycji z Metoda ListRows.Add w naszym kodzie. Powiedzmy, że chcemy dodać dane o sprzedaży dla Orange ze szczegółami w rząd nr 3 względny do istniejąca tabela . Aby to się stało, kopia oraz pasta następujący kod w wizualnym edytorze kodu.

 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. 

Uruchomienie kodu przez naciskając F5 wprowadzono the dane o sprzedaży dla Orange w 3. wiersz względem tabeli .

Read More: Excel VBA Kod dla każdego wiersza w tabeli (dodawanie, nadpisywanie, usuwanie itp.)

Podobne lektury

  • Obliczona suma pola podzielona przez liczbę w tabeli przestawnej
  • Jak zilustrować rozkład częstości względnej w Excelu
  • Fix] Cannot Group Dates in Pivot Table: 4 Possible Solutions [Napraw]
  • Jak obliczyć procentowy rozkład częstości w programie Excel (2 metody)
  • Tabela przestawna nie odświeża się (5 problemów & rozwiązania)

3. Wstawianie i nadpisywanie danych do tabeli przy użyciu VBA w programie Excel

Tutaj zilustrujemy, jak nadpisać the istniejące dane w zamiast tego z wstawianie a nowy rząd z dane Aby to zrobić, musimy użyć Właściwość ListObject.ListRows z Excela zamiast z ListRows.Add właściwość używaliśmy wcześniej . Właściwość ListObject.ListRows również bierze numer rzędu ( Integer wartość ) jako jego argument Powiedzmy, że chcemy zmiana the cena jednostkowa z Orange od 2,14 do 2,35 że my wstawiony w poprzedni przykład . Kopia oraz pasta poniższy kod w edytorze visual basic.

 Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows(3) With addedRow .Zakres(1) = "1/1/2022" .Zakres(2) = "Orange" .Zakres(3) = 3 .Zakres(4) = 2,35 End With End Sub. 

W naszym kodzie, my ustawiony the argument dla Właściwość ListObject.ListRows jako 3 gdzie dane dla Orange należy do . Run the kod poprzez naciśnięcie F5 i zobaczyć różnica .

Kod ma zmieniony tylko cena jednostkowa z dane na stronie rząd nr 3 względny do tabela .

Read More: Jak wstawić lub usunąć wiersze i kolumny z tabeli Excela

4. Uruchom kod VBA, aby wstawić dane do tabeli Excela na podstawie danych wprowadzonych przez użytkownika

W tym przykładzie, zamierzamy wstawić the nazwa tabeli oraz szczegóły sprzedaży z produkt jako wkład użytkownika aniżeli hardcode to w Kod VBA za każdym razem Aby to zrobić, postępuj zgodnie z poniższymi instrukcjami.

  • Kopia oraz pasta następujący kod w wizualnym edytorze kodu.
 Sub InsertDataIntoTable() Dim tableName As ListObject Dim A, B, C, D, tName As String tName = Application.InputBox(Prompt:="Nazwa tabeli: ", Type:=2) A = Application.InputBox(Prompt:="Data zamówienia: ", Type:=2) B = Application.InputBox(Prompt:="Nazwa produktu: ", Type:=2) C = Application.InputBox(Prompt:="Ilość: ", Type:=2) D = Application.InputBox(Prompt:="Cena jednostkowa: ",Type:=2) Set tableName = ActiveSheet.ListObjects(tName) Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Zakres(1) = A .Zakres(2) = B .Zakres(3) = C .Zakres(4) = D End With End Sub. 

  • Naciśnij F5 do uruchomić kod.
  • Umieść the nazwa z tabela w pole wejściowe ( Tabela1. , w tym przykładzie) i uderz w OK.

  • Następnie umieść wartości dla Data Oder, Nazwa produktu, Ilość, oraz Cena jednostkowa w skrzynki wejściowe że pojawiały się kolejno W tym przykładzie użyliśmy następujących wartości 1/1/2022, Orange, 3, oraz 35.

  • W rezultacie mamy nowy rząd z wprowadzone dane na dół z tabela .

Read More: Excel Table Formatting Tips - Zmień wygląd tabeli

Uwagi

Kiedy my dodano a nowy rząd z dane za pomocą kodu VBA,. format oraz formuły uzyskać przeniesiony do nowy rząd automatycznie W naszym przykładzie TotalPrice kolumna wyjścia the produkt kolumny Ilość oraz Cena jednostkowa . We just wstawiany tylko the Ilość oraz Wartości cen jednostkowych ; the nowy rząd było wstawiony z produkt z tych dwie wartości w Kolumna Cena całkowita.

Wniosek

Teraz wiemy, jak wstawić dane do tabeli Excela za pomocą kodu VBA. Mamy nadzieję, że pomoże Ci to pewniej korzystać z tych metod. Wszelkie pytania lub sugestie nie zapomnij umieścić w polu komentarza poniżej.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.