Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Intelligente Tabelle mehrere Zeilen hinzufügen

Intelligente Tabelle mehrere Zeilen hinzufügen
10.04.2018 12:02:10
JayJay
Guten Tag zusammen,
ich benötige nur eine kurze Hilfe.
Und zwar möchte ich mit der Methode ListRows.Add meiner intelligenten "Tb_Test" mehrere Zeilen (z.B. 5 auf einmal) hinzufügen (also die Tabelle um 5 Zeilen erweitern).
Mit dem folgenden Code kann ich jedoch nur eine einzige Zeile hinzufügen.
With ActiveSheet.ListObjects("Tb_Test")
.ListRows.Add
End With
Wo muss ich denn hier die 5 verschachteln, damit er direkt 5 Zeilen einfügt?
LG
JayJay
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
5mal Befehl wiederholen oder mit For-Loop (owT)
10.04.2018 12:19:47
EtoPHG

AW: 5mal Befehl wiederholen oder mit For-Loop (owT)
10.04.2018 13:10:56
JayJay
Wie würde das denn aussehen mit dem Loop?
5x den selben Befehl zu schreiben wollte ich nämlich vermeiden - 5 war auch nur eine beispielhafte Zahl - eigentlich habe ich eine Variable n definiert, die vorher ausgezählt wird und anhand derer dann die Anzahl der Zeilen bestimmt wird.
Ich bräuchte also irgendetwas wie ListRows(n).Add wenn es sowas geben würde..
LG
Anzeige
AW: 5mal Befehl wiederholen oder mit For-Loop (owT)
10.04.2018 13:17:43
Peter(silie)
Hallo,
das geht so:
Dim i As Long
'... dein Code
For i = 1 To n
ActiveSheet.ListObjects("Tb_Test").ListRows.Add
next i 

AW: Intelligente Tabelle mehrere Zeilen hinzufügen
10.04.2018 13:16:57
Daniel
Hi
mein Marko-Recorder sagt mir, dass es hierfür die Funktion .RESIZE gibt.
zumindest zeichnet er das auf, wenn ich die Größe der Tabelle durch Ziehen an der unteren rechten Ecke verändere.
With ActiveSheet.ListObjects("Tb_Test")
.Resize Range(.Range.Resize(.Range.Rows.Count + 5).Address)
End With
das .ListRows.Add kann immer nur einzelne Zeilen einfügen und du solltest dies verwenden, wenn du die Zeilen zwischendrin einfügen willst, dh die darunter liegenden Tabelleninhalte werden um 1 nach unten verschoben.
Gruß Daniel
Anzeige
AW: Intelligente Tabelle mehrere Zeilen hinzufügen
10.04.2018 14:37:02
snb

Sub M_snb()
For j = ListObjects(1).ListRows.Count + 1 To ListObjects(1).ListRows.Count + 5
ListObjects(1).ListRows.Add j
Next
End Sub

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Intelligente Tabelle in Excel: Mehrere Zeilen hinzufügen


Schritt-für-Schritt-Anleitung

Um in einer Excel intelligenten Tabelle mehrere Zeilen auf einmal hinzuzufügen, kannst du die ListRows.Add Methode in Verbindung mit einer Schleife verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf „VBAProject“ > Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub MehrereZeilenHinzufuegen()
    Dim n As Long
    n = 5 ' Anzahl der hinzuzufügenden Zeilen

    Dim i As Long
    For i = 1 To n
        ActiveSheet.ListObjects("Tb_Test").ListRows.Add
    Next i
End Sub
  1. Ändere den Wert von n, um die Anzahl der hinzuzufügenden Zeilen zu bestimmen.
  2. Führe das Makro aus, um die Zeilen zu deiner intelligenten Tabelle hinzuzufügen.

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Lösung: Stelle sicher, dass der Tabellenname ("Tb_Test") korrekt ist und dass die Tabelle tatsächlich auf dem aktiven Arbeitsblatt vorhanden ist.
  • Fehler: "Die Methode 'ListRows.Add' kann nicht auf den angegebenen Bereich angewendet werden."

    • Lösung: Überprüfe, ob du versuchst, mehr Zeilen hinzuzufügen, als die Tabelle erlauben kann. Du kannst die Tabelle mit der Resize-Methode erweitern, bevor du Zeilen hinzufügst.

Alternative Methoden

Eine weitere Möglichkeit, mehrere Zeilen in einer Excel intelligenten Tabelle hinzuzufügen, ist die Verwendung der Resize-Methode:

With ActiveSheet.ListObjects("Tb_Test")
    .Resize Range(.Range.Resize(.Range.Rows.Count + 5).Address)
End With

Diese Methode erweitert die Tabelle um 5 Zeilen auf einmal und ist besonders nützlich, wenn du die Tabelle dynamisch anpassen möchtest.


Praktische Beispiele

  1. Hinzufügen von 10 Zeilen: Ändere die n-Variable im ersten Beispiel in 10, um 10 Zeilen hinzuzufügen.

  2. Zufällige Werte einfügen: Du kannst auch zufällige Werte in die neu hinzugefügten Zeilen einfügen:

Sub ZufallswerteHinzufuegen()
    Dim n As Long
    n = 5

    Dim i As Long
    For i = 1 To n
        With ActiveSheet.ListObjects("Tb_Test").ListRows.Add
            .Range.Cells(1, 1).Value = Rnd() ' Zufallswert in die erste Spalte
        End With
    Next i
End Sub

Tipps für Profis

  • Nutze die Selection.ListObject.ListRows.Add Methode, wenn du eine Tabelle hast, die nicht direkt benannt ist.
  • Bei der Verwendung von vba mehrere zeilen einfügen in großen Tabellen kann es sinnvoll sein, die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren, um die Leistung zu erhöhen:
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True
  • Überlege, ob du eine If-Bedingung einfügst, um zu überprüfen, ob die Tabelle bereits die gewünschte Anzahl von Zeilen hat, bevor du neue hinzufügst.

FAQ: Häufige Fragen

1. Wie kann ich Zeilen zwischendrin einfügen?
Du kannst die ListRows.Add Methode nutzen, um Zeilen an einer bestimmten Position hinzuzufügen:

ActiveSheet.ListObjects("Tb_Test").ListRows.Add (2) ' Fügt eine Zeile an der zweiten Position hinzu

2. Ist es möglich, eine intelligente Tabelle in VBA zu erstellen?
Ja, du kannst eine Excel vba intelligente tabelle erstellen mit der ListObjects.Add Methode. Hier ein Beispiel:

Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:D10"), , xlYes)
tbl.Name = "Tb_Test"

3. Wie kann ich die Tabelle nach links erweitern?
Das Erweitern einer Tabelle nach links ist nicht direkt möglich. Du musst die gesamte Tabelle verschieben oder den Bereich, auf den sie sich bezieht, anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige