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