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

VBA Zeilen gleichzeitig in zwei Tabellen einfügen

Forumthread: VBA Zeilen gleichzeitig in zwei Tabellen einfügen

VBA Zeilen gleichzeitig in zwei Tabellen einfügen
06.04.2018 14:08:11
Andy
Hallo zusammen
Wir haben nun schon einiges getestet und scheinen definitiv out of ideas zu sein.
Folgende Grundlage:
Wir haben 2 Tabellen auf 2 Blättern die grösstenteils Baugleich sind. Tabellen benötigen wir, damit die Formeln automatisch weiterkopiert werden (ist ja im Normalbereich nicht so). Nun versuchen wir das ganze noch zu optimieren und wollten via VBA einen Button einfügen, welcher uns zusätzliche Zeilen in beide Tabellen einfügt. Dazu haben wir folgende beiden codes bedingt funktionierend hingekriegt:
Sub test()
Dim i As Long
For i = 1 To InputBox("Wieviele Zeilen?", "Zeilen einfügen", 1)
' Blatschutz aufeben
'    Call Blattschutz_aufheben
Worksheets(Array("Kalk_Aufwand", "Zeituebersicht")).Select
Range("A" & ActiveCell.Row).EntireRow.Select
Selection.Insert Shift:=xlDown
Next i
' Blattschutz setzen
'   Call Blattschutz_setzen
End Sub 

Dieser Code funktioniert leider nur in Bereichen oder wenn nur eine einzellne Tabelle markiert ist. Sobald beide Blätter mit beiden Tabellen markiert sind, haben wir hier einen Laufzeitfehler.
Sub ZeilenEinfügen()
Dim i As Long
For i = 1 To InputBox("Wieviele Zeilen?", "Zeilen einfügen", 1)
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Next i
End Sub

Hier funktioniert alles wunderbar, aber nur für ein Blatt.
Die neuen Zeilen sollen jeweils bei der markierten Zelle eingefügt werden. Da die beiden Tabellen miteinander per Formeln verknüpft sind, müssen in beiden Tabellen gleich viele Zeilen eingefügt werden.
Habt ihr hier Ideen? Ich denke, der erste Ansatz kann man verwerfen. Beim zweiten Teil fehlt mir noch der weg, wie ich hier den Wert, welchen man eingibt auf dem zweiten Blatt erneut verwanden kann, ohne dass man ihn neu eingeben muss (Und nein, ich traue dem Durchschnittsmenschen nicht zu, zwei mal die gleiche Zahl innerhalb von 10 Sec eintragen zu können :o ).
Und zum System (fast vergessen): Mac Excel 2011
Vielen Dank schon im Voraus.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zeilen gleichzeitig in zwei Tabellen einfügen
06.04.2018 14:29:33
dirk
Hallo!
Ich wuerde das nacheinander einkopieren. Erst in dem 1sten Blatt, dann im 2ten. Gleichzeitig in zwei Blätter kopieren geht meines Wissens nach nicht.
Gruss
Dirk aus Dubai
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA Zeilen gleichzeitig in zwei Tabellen einfügen


Schritt-für-Schritt-Anleitung

Um in Excel mehrere Tabellenblätter gleichzeitig zu bearbeiten und Zeilen einzufügen, kannst Du VBA verwenden. Befolge diese Schritte:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub ZeilenEinfügen()
       Dim i As Long
       Dim AnzahlZeilen As Long
       AnzahlZeilen = InputBox("Wieviele Zeilen?", "Zeilen einfügen", 1)
       Dim ws As Worksheet
    
       For Each ws In Worksheets(Array("Kalk_Aufwand", "Zeituebersicht"))
           ws.Activate
           For i = 1 To AnzahlZeilen
               Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
           Next i
       Next ws
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Setze den Cursor auf die Zeile, über der Du die neuen Zeilen einfügen möchtest.

  6. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Mit diesem VBA-Skript kannst Du in mehreren Zeilen gleichzeitig schreiben und die neuen Zeilen werden in beiden Tabellenblättern eingefügt.


Häufige Fehler und Lösungen

  • Laufzeitfehler beim Ausführen des Codes: Achte darauf, dass die Blattnamen im Code exakt den Namen Deiner Tabellenblätter entsprechen. Wenn eines der Blätter nicht existiert, erhältst Du einen Fehler.

  • Zeilen werden nicht an der gewünschten Stelle eingefügt: Stelle sicher, dass Du die Zelle auswählst, über der die neuen Zeilen eingefügt werden sollen, bevor Du das Makro ausführst.

  • Formeln werden nicht kopiert: Wenn Du in mehreren Tabellenblättern arbeitest, stelle sicher, dass die Formeln in den neuen Zeilen entsprechend eingerichtet sind.


Alternative Methoden

Falls Du keine VBA-Programmierung verwenden möchtest, kannst Du auch manuell in mehreren Zeilen gleichzeitig schreiben. Hier ist eine einfache Methode:

  1. Wähle die Zeile in der ersten Tabelle aus und kopiere sie.
  2. Wechsle zur zweiten Tabelle und füge die Zeile dort ein.
  3. Wiederhole diesen Vorgang für die Anzahl der benötigten Zeilen.

Diese Methode ist allerdings zeitaufwändiger und nicht so effizient wie die VBA-Lösung.


Praktische Beispiele

Nehmen wir an, Du möchtest 3 neue Zeilen in die Tabellen "Kalk_Aufwand" und "Zeituebersicht" einfügen:

  1. Führe das Makro aus und gib 3 in dem Eingabefeld ein.
  2. Der Code wird die Zeilen in beiden Tabellenblättern an der aktuell ausgewählten Zeile einfügen.

Dies ist besonders nützlich, wenn Du viele Daten verwaltest und sicherstellen möchtest, dass alle Formeln in den neuen Zeilen korrekt funktionieren.


Tipps für Profis

  • Makros speichern: Vergiss nicht, Deine Excel-Datei als .xlsm (Makro-fähige Arbeitsmappe) zu speichern, damit Du den VBA-Code später wieder verwenden kannst.

  • Schutz der Blätter: Wenn Du Blattschutz verwendest, stelle sicher, dass dieser vor dem Ausführen des Makros deaktiviert ist. Du kannst den Blattschutz im VBA-Code aufheben und anschließend wieder aktivieren.

  • Variablen verwenden: Du kannst Variablen im VBA-Code definieren, um die Anzahl der Zeilen, die Du einfügen möchtest, flexibler zu gestalten.


FAQ: Häufige Fragen

1. Kann ich das Skript auch für mehr als zwei Tabellenblätter verwenden?
Ja, Du kannst einfach die Blattnamen im Worksheets(Array(...))-Teil des Codes erweitern.

2. Funktioniert dieses Skript in Excel für Mac?
Ja, der Code ist kompatibel mit Excel für Mac 2011, wie im Forumthread erwähnt. Stelle jedoch sicher, dass Du in der richtigen Umgebung arbeitest.

3. Was passiert, wenn ich eine ungültige Zahl eingebe?
Das Makro wird versuchen, die angegebene Anzahl von Zeilen einzufügen. Wenn die Zahl ungültig ist, wird ein Laufzeitfehler angezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige