Spis treści
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.xlsm4 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.