Excel VBA do tworzenia tabeli z zakresu (6 przykładów)

  • Udostępnij To
Hugh West

Podczas pracy z Microsoft Excel Możemy wykorzystać do badania dużych ilości danych, a przekształcenie tych zakresów danych w tabeli jest jedną z najlepszych opcji. Tabele programu Excel pozwalają nam szybko sortować i filtrować dane, dodawać nowe rekordy i natychmiast aktualizować wykresy i tabele przestawne. Excel VBA pomaga użytkownikowi dostosować aplikację do swoich potrzeb za pomocą kilku prostych kodów. W tym artykule zobaczymy kilka przykładów Excel VBA aby utworzyć tabelę z zakresu.

Pobierz Zeszyt ćwiczeń

Możesz pobrać zeszyt ćwiczeń i ćwiczyć z nimi.

Tworzenie tabeli z zakresu.xlsm

6 Przykładów Excel VBA do tworzenia tabeli z zakresu

Tabele zaczęły się jako listy w edycji menu Excela, ale te zwiększyły swoją funkcjonalność w wariantach ze wstążką. Konwersja zakresu danych do tabeli rozszerza możliwości, pozwalając na szybszą i łatwiejszą pracę. przekształcenie zakresu w tabelę używając VBA jest najprostszym sposobem niż użycie wstążki.

Załóżmy, że mamy prosty zbiór danych, który zawiera pewne elementy w kolumnie B , ilość tych pozycji w kolumnie C oraz sprzedaż ogółem dla każdej pozycji w kolumnie D Teraz chcemy przekształcić zakres danych w tabelę. Pokażemy różne przykłady i instrukcje krok po kroku, jak utworzyć tabelę z zakresu B4:D9 za pomocą programu Excel VBA.

Użyj ListObjects.Add aby przekształcić zakres w tabelę Excela. Obiekt Spreadsheet posiada cechę ListObjects . ListObjects ma technikę zwaną Dodaj Kryteria dla .Dodaj są następujące.

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

I, użyj SourceType xlSrcRange .

1. Excel VBA do generowania tabeli z zakresu

Z Excel VBA , użytkownicy mogą łatwo użyć kodu, który działa jak menu Excela z poziomu wstążki.Aby użyć VBA kod do wygenerowania tabeli z zakresu, prześledźmy procedurę w dół.

KROKI:

  • Po pierwsze, przejdź do Deweloper zakładka ze wstążki.
  • Po drugie, z Kod kategorii, kliknij na Visual Basic aby otworzyć Edytor Visual Basic . lub naciśnij Alt + F11 aby otworzyć Edytor Visual Basic .
  • Zamiast tego możesz po prostu kliknąć prawym przyciskiem myszy na swoim arkuszu i przejść do Wyświetl kod To przeniesie cię również do Edytor Visual Basic .

  • Pojawi się to w Edytor Visual Basic gdzie piszemy nasze kody do tworzenia tabeli z zakresu.
  • Po trzecie, kliknij na Moduł od Wkładka pasek menu rozwijanego.

  • To stworzy Moduł w swoim zeszycie.
  • I, skopiuj i wklej VBA kod pokazany poniżej.

VBA Kod:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Następnie należy uruchomić kod klikając na RubSub lub naciskając skrót klawiaturowy F5 .

Nie musisz zmieniać kodu, wystarczy, że zmienisz zakres zgodnie ze swoimi wymaganiami.

  • I wreszcie, wykonując kolejne kroki, utworzysz tabelę z zakresu B4:D9 .

Objaśnienie kodu VBA

 Sub Create_Table() 

Sub jest częścią kodu, która służy do wykonywania pracy w kodzie, ale nie zwraca żadnej wartości. Jest również znana jako podprocedura. Tak więc nazwiemy naszą procedurę Create_Table() .

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

Jest to główna linia kodu, za pomocą której zakres jest konwertowany jako tabela. Jak już wiemy, że ListObjects.Add aby przekształcić zakres w tabelę Excela. I używamy xlSrcRange jako typ źródłowy. Ponadto deklarujemy nasz zakres Range("B4:D9") I na koniec nazwij naszą tabelę jako Tabela1. .

 End Sub 

Spowoduje to zakończenie procedury.

Read More: Jak zaktualizować zakres tabeli przestawnej (5 odpowiednich metod)

2. skonstruuj tabelę z zakresu używając Excel VBA.

Zobaczmy kolejny przykład konstruowania tabeli z zakresu za pomocą Excel VBA.

KROKI:

  • Najpierw przejdź do Opracuj r zakładka ze wstążki.
  • Po drugie, kliknij na Visual Basic aby otworzyć Edytor Visual Basic .
  • Inny sposób na otwarcie Edytor Visual Basic to po prostu nacisnąć Alt + F11 .
  • Lub kliknij prawym przyciskiem myszy na arkuszu, a następnie wybierz Wyświetl kod .
  • Następnie przejdź do Wkładka i wybrać Moduł z menu rozwijanego.
  • I, to otworzy okno visual basic.
  • Następnie należy skopiować i wkleić Kod VBA poniżej.

VBA Kod:

 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 
  • Następnie należy nacisnąć przycisk Klawisz F5 lub kliknij na Run Sub aby uruchomić kod.

  • I otrzymasz wynik jak na rysunku Metoda 1 .

Objaśnienie kodu VBA

 Dim tb2 As Range Dim wsht As Worksheet 

Na stronie DIM oświadczenie w VBA odnosi się do " oświadcz, " i musi być użyty do zadeklarowania zmiennej. Tak więc, deklarujemy nasz zakres do tb2 i arkusz do ws .

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

VBA Set pozwala nam po prostu uniknąć konieczności wielokrotnego wpisywania zakresu, który musimy wybrać, podczas uruchamiania kodu. Ustawiamy więc nasz zakres na bieżący region, a nasz arkusz na aktywny arkusz.

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

Za pomocą tej linii kodu tworzymy tabelę z zakresu i nazywamy naszą tabelę Tabela2 .

Read More: Jak wykorzystać tabelę w Excelu za pomocą VBA (9 możliwych sposobów)

3) Tworzenie tabeli z zakresu za pomocą VBA w Excelu

Przyjrzyjmy się kolejnemu przykładowi wykorzystania VBA w Excelu do tworzenia tabeli z zakresu.

KROKI:

  • Aby rozpocząć, wybierz cały zakres, który chcesz przekształcić w tabelę.
  • Po drugie, kliknij przycisk Deweloper na wstążce.
  • Po trzecie, uruchomić Edytor Visual Basic klikając na Visual Basic .
  • Alternatywnie można uzyskać dostęp do Edytor Visual Basic poprzez naciśnięcie Alt + F11 .
  • Albo, kliknij prawym przyciskiem myszy na stronie na arkuszu i wybierz Wyświetl kod z menu.
  • Następnie należy wybrać Moduł z listy rozwijanej pod Wkładka .
  • I pojawi się okno visual basic.
  • Napisz tam kod.

VBA Kod:

 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. 
  • Na koniec naciśnij przycisk Klawisz F5 aby uruchomić kod.

  • I to utworzy tabelę z zakresu danych, które otrzymaliśmy w Metoda 1 .

Read More: Jak zrobić tabelę w Excelu (z dostosowaniem)

Podobne lektury

  • Obliczona suma pola podzielona przez liczbę w tabeli przestawnej
  • Jak zilustrować rozkład częstości względnej w Excelu
  • Excel Pivot Table Group by Week (3 Odpowiednie Przykłady)
  • Fix] Cannot Group Dates in Pivot Table: 4 Possible Solutions [Napraw]
  • Jak zrobić tabelę amortyzacyjną w Excelu (4 metody)

4. zastosowanie VBA do tworzenia dynamicznej tabeli z zakresu

Rzućmy okiem na inny sposób generowania tabeli z zakresu za pomocą Excel VBA.

KROKI:

  • Aby rozpocząć, otwórz wstążkę i wybierz opcję Deweloper opcja.
  • Następnie, aby uzyskać dostęp do Edytor Visual Basic , kliknij na Visual Basic .
  • Naciskając Alt + F11 spowoduje również pojawienie się Edytor Visual Basic .
  • Ewentualnie, kliknij prawym przyciskiem myszy na stronie arkusza i wybierz Wyświetl kod z wyświetlonego menu.
  • Teraz, z Wkładka opcja rozwijana, wybierz Moduł .
  • Następnie skopiuj i wklej VBA kod, który następuje.

VBA Kod:

 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 
  • Uruchom kod naciskając przycisk F5 klucz.

  • Jak pokazano w Metoda 1 'ilustracja, stół będzie zbudowany z zakresu.

Objaśnienie kodu VBA

 Sub Create_Dynamic_Table1() 

Ta linia wskazuje na nazwę podprocedury.

 Dim tbOb As ListObject Dim TblRng As Range 

Ta dwulinia służy do deklaracji zmiennych.

 With Sheets("Przykład4") 

Na stronie Z oświadczeniem pozwala na wykonanie sekwencji poleceń na pojedynczym obiekcie bez konieczności rekalifikacji nazwy obiektu. Tak więc, załączamy Z oświadczenie z nazwą arkusza.

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

Te są odpowiednio dla znalezienia ostatniego wiersza i ostatniej kolumny.

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

Zakres, w którym tworzona jest tabela.

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

Utwórz tabelę w podanym wyżej zakresie.

 tbOb.Name = "DynamicTable1" 

Określanie nazwy tabeli

 tbOb.TableStyle = "TableStyleMedium14" 

Określenie stylu tabeli.

Read More: Tworzenie tabeli w programie Excel za pomocą skrótów (8 metod)

5. utwórz dynamiczną tabelę z zakresu

Przyjrzyj się teraz innej metodzie Excel VBA na tworzenie tabeli z zakresu.

KROKI:

  • Aby rozpocząć, otwórz wstążkę i wybierz Deweloper z menu rozwijanego.
  • Następnie wybierz Visual Basic aby otworzyć Edytor Visual Basic .
  • Na stronie Edytor Visual Basic można również uzyskać dostęp poprzez naciśnięcie przycisku Alt + F11 .
  • Ewentualnie można kliknij prawym przyciskiem myszy na stronie arkusza i wybierz Wyświetl kod z menu podręcznego.
  • Następnie należy wybrać Moduł od Wkładka menu rozwijane.
  • Następnie skopiuj i wklej następujący kod VBA.

VBA Kod:

 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. 
  • Na koniec uruchom kod naciskając F5 na klawiaturze i widzisz wynik w swoim arkuszu.

  • I, jak wykazano w Metoda 1 'ilustracja, tabela zostanie skonstruowana z zakresu.

Read More: Jak sprawić, by tabele w Excelu wyglądały dobrze (8 skutecznych porad)

6) Wykorzystanie VBA w Excelu do tworzenia dynamicznych tabel

Poznajmy inny sposób Excela VBA na skonstruowanie tabeli z zakresu.

KROKI:

  • Na początku należy udać się do Deweloper tab> Visual Basic > Wkładka > Moduł .
  • Albo, klikając prawym przyciskiem myszy na stronie na arkuszu otworzy się okno, z którego należy przejść do Wyświetl kod .
  • A to przeniesie cię do Edytor Visual Basic pole, w którym możemy napisać makra VBA.
  • Z drugiej strony, wciśnięcie Alt + F11 otworzy również Edytor Visual Basic .
  • Następnie należy wpisać VBA kod.

VBA Kod:

 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. 
  • I, uruchom kod, aby zobaczyć wynik, naciskając przycisk Klawisz F5 .

  • I, tabela zostanie utworzona z zakresu, jak pokazano na rysunku Metoda 1 .

Read More: Jak stworzyć tabelę w Excelu z danymi (5 sposobów)

Wniosek

Powyższe metody pomogą Ci stworzyć tabelę z zakresu w Excelu. Mam nadzieję, że to Ci pomoże! Jeśli masz jakieś pytania, sugestie lub opinie daj nam znać w sekcji komentarzy. Możesz też rzucić okiem na nasze inne artykuły w ExcelWIKI.com blog!

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ł.