Inhaltsverzeichnis
Bei der Arbeit mit Microsoft Excel Die Umwandlung dieser Datenbereiche in eine Tabelle ist eine der besten Möglichkeiten. Mit Excel-Tabellen können wir die Daten schnell sortieren und filtern, neue Datensätze hinzufügen und Diagramme und PivotTables sofort aktualisieren. Und Excel-VBA hilft dem Benutzer, die Anwendung mit einigen einfachen Codes anzupassen. In diesem Artikel werden wir einige Beispiele für Excel-VBA um eine Tabelle aus dem Bereich zu erstellen.
Download Arbeitsbuch Praxis
Sie können die Arbeitsmappe herunterladen und mit ihnen üben.
Tabelle aus Range.xlsm erstellen6 Beispiele für Excel VBA zum Erstellen einer Tabelle aus einem Bereich
Tabellen waren in der Menü-Edition von Excel zunächst Listen, die jedoch in den Ribbon-Varianten an Funktionalität zunahmen. Durch die Umwandlung eines Datenbereichs in eine Tabelle werden die Möglichkeiten erweitert, sodass Sie schneller und einfacher arbeiten können. den Bereich in eine Tabelle umwandeln mit VBA ist der einfachste Weg, als das Farbband zu benutzen.
Angenommen, wir haben einen einfachen Datensatz, der einige Elemente in der Spalte B die Menge dieser Artikel in der Spalte C und der Gesamtumsatz für jeden Artikel in der Spalte D Nun wollen wir den Datenbereich in eine Tabelle umwandeln. Im Folgenden werden verschiedene Beispiele und Schritt-für-Schritt-Anleitungen zur Erstellung einer Tabelle aus einem Bereich gezeigt B4:D9 mit Excel VBA.
Verwenden Sie ListObjects.Add um einen Bereich in eine Excel-Tabelle zu verwandeln. Das Spreadsheet-Objekt hat eine Eigenschaft ListObjects . ListObjects hat eine Technik namens hinzufügen Die Kriterien für .hinzufügen sind wie folgt.
Ausdruck .Add(SourceType, Source, LinkSource, HasHeaders,Destination)
Und, verwenden Sie den SourceType xlSrcRange .
1) Excel VBA zum Erzeugen einer Tabelle aus einem Bereich
Mit Excel-VBA können Benutzer den Code, der als Excel-Menü fungiert, ganz einfach über das Menüband verwenden. Um die VBA Code, um eine Tabelle aus dem Bereich zu generieren, lassen Sie uns das Verfahren nach unten folgen.
SCHRITTE:
- Gehen Sie erstens zur Entwickler in der Multifunktionsleiste.
- Zweitens, von der Code Kategorie, klicken Sie auf Visual Basic zum Öffnen des Visual Basic-Editor Oder drücken Sie Alt + F11 zum Öffnen des Visual Basic-Editor .
- Stattdessen können Sie auch einfach mit der rechten Maustaste auf Ihr Arbeitsblatt klicken und zu Code anzeigen Dies führt Sie auch zu Visual Basic-Editor .
- Dies erscheint in der Visual Basic-Editor wo wir unsere Codes schreiben, um eine Tabelle aus dem Bereich zu erstellen.
- Drittens: Klicken Sie auf Modul von der einfügen. Dropdown-Menüleiste.
- Dadurch wird eine Modul in Ihrer Arbeitsmappe.
- Kopieren und fügen Sie die VBA unten gezeigten Code.
VBA-Code:
Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub
- Danach führen Sie den Code aus, indem Sie auf die Schaltfläche RubSub oder durch Drücken des Tastaturkürzels F5 .
Sie brauchen den Code nicht zu ändern, sondern können nur den Bereich entsprechend Ihren Anforderungen anpassen.
- Und schließlich wird mit den folgenden Schritten eine Tabelle aus einem Bereich erstellt B4:D9 .
VBA-Code-Erläuterung
Sub Create_Table()
Unter ist ein Teil des Codes, der dazu dient, die Arbeit im Code zu erledigen, aber keinen Wert zurückgibt. Er ist auch als Unterprozedur bekannt. Wir nennen unsere Prozedur also Create_Table() .
Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Tabelle1"
Dies ist die Hauptcodezeile, mit der der Bereich in eine Tabelle umgewandelt wird. Da wir bereits wissen, dass ListObjects.Add um einen Bereich in eine Excel-Tabelle zu verwandeln, und wir verwenden xlSrcRange als Quelltyp und deklarieren unseren Bereich Bereich("B4:D9") Und schließlich benennen wir unsere Tabelle als Tabelle1 .
End Sub
Damit wird das Verfahren beendet.
Lesen Sie mehr: Pivot-Tabellenbereich aktualisieren (5 geeignete Methoden)
2. eine Tabelle aus einem Bereich mit Excel VBA konstruieren
Sehen wir uns ein weiteres Beispiel an, um eine Tabelle aus einem Bereich mit Excel VBA zu erstellen.
SCHRITTE:
- Gehen Sie zunächst zur Entwickeln Sie r in der Multifunktionsleiste.
- Zweitens, klicken Sie auf Visual Basic zum Öffnen des Visual Basic-Editor .
- Eine andere Möglichkeit zum Öffnen der Visual Basic-Editor ist einfach zu drücken Alt + F11 .
- Oder Sie klicken mit der rechten Maustaste auf das Blatt und wählen dann Code anzeigen .
- Gehen Sie dann zu einfügen. und wählen Sie Modul aus dem Dropdown-Menü.
- Daraufhin wird das Visual Basic-Fenster geöffnet.
- Kopieren Sie anschließend die Datei und fügen Sie die VBA-Code unten.
VBA-Code:
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
- Drücken Sie außerdem die F5-Taste oder klicken Sie auf die Lauf Sub um den Code auszuführen.
- Sie erhalten dann das in der folgenden Abbildung dargestellte Ergebnis Methode 1 .
VBA-Code-Erläuterung
Dim tb2 As Range Dim wsht As Worksheet
Die DIM Anweisung in VBA bezieht sich auf " deklarieren, "und muss verwendet werden, um eine Variable zu deklarieren. Wir deklarieren also unseren Bereich zu tb2 und Arbeitsblatt zu ws .
Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet
Mit VBA Set können wir einfach vermeiden, dass wir beim Ausführen des Codes den gewünschten Bereich immer wieder eingeben müssen. Wir setzen also unseren Bereich auf den aktuellen Bereich und unser Arbeitsblatt auf das aktive Arbeitsblatt.
wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Tabelle2"
Mit dieser Codezeile erstellen wir die Tabelle aus dem Bereich und nennen unsere Tabelle Tabelle2 .
Lesen Sie mehr: Wie man eine Excel-Tabelle mit VBA verwendet (9 mögliche Wege)
3. eine Tabelle aus einem Bereich mit VBA in Excel erstellen
Sehen wir uns ein weiteres Beispiel für die Verwendung von Excel VBA zur Erstellung einer Tabelle aus einem Bereich an.
SCHRITTE:
- Wählen Sie zunächst den gesamten Bereich aus, den Sie in eine Tabelle umwandeln möchten.
- Zweitens: Klicken Sie auf die Schaltfläche Entwickler in der Multifunktionsleiste.
- Drittens: Starten Sie die Visual Basic-Editor durch Anklicken von Visual Basic .
- Alternativ können Sie auch auf die Visual Basic-Editor durch Drücken von Alt + F11 .
- Oder, Rechtsklick auf auf dem Blatt und wählen Sie Code anzeigen aus dem Menü.
- Wählen Sie dann die Modul aus der Dropdown-Box unter einfügen. .
- Daraufhin wird das Visual Basic-Fenster angezeigt.
- Schreiben Sie den Code dort.
VBA-Code:
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
- Drücken Sie schließlich die F5-Taste um den Code auszuführen.
- Dies wird eine Tabelle aus dem Datenbereich erstellen, den wir in Methode 1 .
Lesen Sie mehr: So erstellen Sie eine Tabelle in Excel (mit Anpassungen)
Ähnliche Lektüre
- Berechnete Feldsumme dividiert durch Anzahl in Pivot-Tabelle
- Veranschaulichung der relativen Häufigkeitsverteilung in Excel
- Excel Pivot-Tabelle nach Woche gruppieren (3 geeignete Beispiele)
- [Fix] Daten in Pivot-Tabelle können nicht gruppiert werden: 4 mögliche Lösungen
- Erstellen einer Amortisationstabelle in Excel (4 Methoden)
4 VBA anwenden, um eine dynamische Tabelle aus einem Bereich zu erstellen
Werfen wir einen Blick auf eine andere Möglichkeit, mit Excel VBA eine Tabelle aus einem Bereich zu erzeugen.
SCHRITTE:
- Öffnen Sie das Menüband und wählen Sie die Option Entwickler Option.
- Um dann auf die Visual Basic-Editor klicken Sie auf Visual Basic .
- Drücken Sie Alt + F11 wird auch die Visual Basic-Editor .
- Alternativ dazu, Rechtsklick auf das Blatt und wählen Sie Code anzeigen aus dem erscheinenden Menü.
- Nun, von der einfügen. Dropdown-Option, wählen Sie Modul .
- Kopieren Sie dann die VBA Code, der folgt.
VBA-Code:
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 EndUnter
- Führen Sie den Code aus, indem Sie die Taste F5 Schlüssel.
- Wie illustriert in Methode 1 wird der Tisch aus dem Sortiment gebaut.
VBA-Code-Erläuterung
Sub Create_Dynamic_Table1()
In dieser Zeile steht der Name der Unterprozedur.
Dim tbOb As ListObject Dim TblRng As Range
Diese zwei Zeilen werden für die Deklaration von Variablen verwendet.
With Sheets("Beispiel4")
Die Mit Erklärung ermöglicht es Ihnen, eine Folge von Anweisungen zu einem einzigen Objekt zu machen, ohne den Namen des Objekts neu zu bestätigen. Wir schließen also die Mit Anweisung mit dem Blattnamen.
lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
Diese dienen dazu, die letzte Zeile bzw. die letzte Spalte zu finden.
Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn))
Bereich, um die Tabelle zu erstellen.
Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes)
Erstellen Sie eine Tabelle in dem oben angegebenen Bereich.
tbOb.Name = "DynamicTable1"
Angabe des Tabellennamens
tbOb.TableStyle = "TableStyleMedium14"
Geben Sie den Tabellenstil an.
Lesen Sie mehr: Tabelle in Excel mit Shortcut erstellen (8 Methoden)
5. dynamische Tabelle aus Bereich erstellen
Schauen wir uns nun eine andere Excel-VBA-Methode an, um eine Tabelle aus einem Bereich zu erstellen.
SCHRITTE:
- Öffnen Sie zunächst das Menüband und wählen Sie Entwickler aus dem Dropdown-Menü.
- Wählen Sie dann Visual Basic zum Öffnen des Visual Basic-Editor .
- Die Visual Basic-Editor kann auch durch Drücken von Alt + F11 .
- Alternativ können Sie auch Rechtsklick auf das Blatt und wählen Sie Code anzeigen aus dem Pop-up-Menü.
- Wählen Sie danach Modul von der einfügen. Dropdown-Menü.
- Kopieren Sie dann den folgenden VBA-Code und fügen Sie ihn ein.
VBA-Code:
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
- Abschließend führen Sie den Code aus, indem Sie F5 auf Ihrer Tastatur und Sie sehen das Ergebnis in Ihrem Arbeitsblatt.
- Und, wie in Methode 1 wird die Tabelle aus dem Bereich erstellt.
Lesen Sie mehr: Wie man Excel-Tabellen gut aussehen lässt (8 effektive Tipps)
6. mit Excel VBA eine dynamische Tabelle erstellen
Schauen wir uns eine andere Excel-VBA-Methode an, um eine Tabelle aus einem Bereich zu erstellen.
SCHRITTE:
- Gehen Sie zu Beginn auf die Seite Entwickler tab> Visual Basic > einfügen. > Modul .
- Oder, Rechtsklick auf auf dem Arbeitsblatt öffnet sich ein Fenster, von dem aus Sie in den Bereich Code anzeigen .
- Und so gelangen Sie zu den Visual Basic-Editor Feld, in das wir VBA-Makros schreiben können.
- Andererseits kann das Drücken von Alt + F11 öffnet auch die Visual Basic-Editor .
- Danach geben Sie die VBA Code.
VBA-Code:
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
- Und führen Sie den Code aus, um das Ergebnis zu sehen, indem Sie die Taste F5-Taste .
- Die Tabelle wird aus dem Bereich erstellt, wie in der Abbildung von Methode 1 .
Lesen Sie mehr: Wie man in Excel eine Tabelle mit Daten erstellt (5 Wege)
Schlussfolgerung
Die oben genannten Methoden werden Ihnen helfen, eine Tabelle aus einem Bereich in Excel zu erstellen. Ich hoffe, dies hilft Ihnen! Wenn Sie Fragen, Vorschläge oder Feedback haben, lassen Sie es uns im Kommentarbereich wissen. Oder werfen Sie einen Blick auf unsere anderen Artikel in der ExcelWIKI.de Blog!