Wie kann ich mehrere Blätter auswählen, aus diesen gleichzeitig einen definierten Bereich kopieren und in ein ausgewähltes Blatt einfügen?

Antwort

Um in Excel VBA mehrere Blätter auszuwählen, einen definierten Bereich aus diesen Blättern zu kopieren und in ein ausgewähltes Blatt einzufügen, kann der folgende Code verwendet werden. Dieser Code nutzt `Application.InputBox`, um den Benutzer zur Eingabe des Bereichs und des Zielblatts aufzufordern: ```vba Sub CopyRangeFromMultipleSheets() Dim ws As Worksheet Dim targetSheet As Worksheet Dim targetRange As Range Dim sourceRange As Range Dim userRange As String Dim targetSheetName As String Dim lastRow As Long ' Eingabe des zu kopierenden Bereichs userRange = Application.InputBox("Gib den Bereich ein, der kopiert werden soll (z.B. A1:D10):", Type:=8).Address ' Eingabe des Zielblatts targetSheetName = Application.InputBox("Gib den Namen des Zielblatts ein:", Type:=2) ' Überprüfen, ob das Zielblatt existiert On Error Resume Next Set targetSheet = ThisWorkbook.Sheets(targetSheetName) On Error GoTo 0 If targetSheet Is Nothing Then MsgBox "Das Zielblatt existiert nicht.", vbExclamation Exit Sub End If ' Schleife durch alle Blätter außer dem Zielblatt For Each ws In ThisWorkbook.Sheets If ws.Name <> targetSheetName Then ' Bereich auf dem aktuellen Blatt festlegen Set sourceRange = ws.Range(userRange) ' Letzte belegte Zeile im Zielblatt finden lastRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row + 1 ' Bereich kopieren und einfügen sourceRange.Copy Destination:=targetSheet.Cells(lastRow, 1) End If Next ws MsgBox "Bereich wurde erfolgreich kopiert.", vbInformation End Sub ``` Dieser Code führt folgende Schritte aus: 1. Fordert den Benutzer auf, den zu kopierenden Bereich einzugeben. 2. Fordert den Benutzer auf, den Namen des Zielblatts einzugeben. 3. Überprüft, ob das Zielblatt existiert. 4. Durchläuft alle Blätter außer dem Zielblatt. 5. Kopiert den definierten Bereich von jedem Blatt und fügt ihn in das Zielblatt ein, wobei die Daten untereinander eingefügt werden. Weitere Informationen zu `Application.InputBox` findest du in der [Microsoft-Dokumentation](https://docs.microsoft.com/de-de/office/vba/api/excel.application.inputbox).

Kategorie: Software Tags: Blätter Kopieren VBA
Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Welche Typen von Sheets gibt es in Excel VBA?

In Excel (VBA) gibt es grundsätzlich drei Typen von Sheets (Arbeitsblättern): 1. **Worksheet** Das klassische Arbeitsblatt, auf dem Daten, Formeln und Diagramme platziert werden.... [mehr]

Wie kann man in Excel VBA ein separates Diagrammblatt ansprechen?

Um in Excel VBA ein separates Diagrammblatt (Chart Sheet) anzusprechen, kannst du auf die Sammlung der Diagrammblätter mit **Charts** zugreifen. Ein Diagrammblatt ist ein eigenes Arbeitsblatt, da... [mehr]

Muss in Excel VBA ein Diagramm aktiviert sein, um dessen Achsen zu formatieren?

Nein, in Excel VBA muss ein Diagramm nicht zwingend aktiviert sein, um dessen Achsen zu formatieren. Du kannst auf Diagramme und deren Achsen auch direkt über das Objektmodell zugreifen, ohne das... [mehr]

Gilt ein separates Diagrammblatt in Excel VBA als Worksheet?

Wenn in Excel ein Diagramm als separates Tabellenblatt erstellt wird, handelt es sich **nicht** um ein Worksheet (Arbeitsblatt), sondern um ein sogenanntes **ChartSheet** (Diagrammblatt). In VBA kann... [mehr]

Wie kann man in Excel per VBA den Bereichsverweis eines Diagramms im Namensmanager vergrößern?

Um in Excel mit VBA den Bereich eines Bereichsverweises (z. B. eines definierten Namens im Namensmanager), der als Datenquelle für ein Diagramm dient, zu vergrößern, kannst du den Bere... [mehr]

Warum erscheint in Excel VBA beim Vergrößern eines Bereichsverweises im Namensmanager beim Schließen der Datei die Meldung 'Zuweisung an schreibgeschützte Eigenschaft nicht möglich'?

Das Problem tritt auf, weil Excel-Bereichsnamen, die im Namensmanager definiert sind, oft auf feste Zellbereiche verweisen (z. B. `=Tabelle1!$A$1:$A$10`). Wenn du per VBA versuchst, beim Schließ... [mehr]

Wie kann ich in Excel VBA beim Schließen der Datei einen Verweis im Namensmanager automatisch auf ...!R1C1:R20C18 vergrößern?

Um einen Bereichsverweis im Namensmanager von Excel beim Schließen der Datei automatisch auf z. B. `...!R1C1:R20C18` zu vergrößern, kannst du das Workbook-BeforeClose-Ereignis in VBA... [mehr]

Excel VBA Diagramm: Wie erkennt man, dass Datenzeilen und Datenspalten vertauscht sind?

In Excel-Diagrammen kann man erkennen, ob Datenzeilen und Datenspalten vertauscht sind, indem man prüft, wie die Datenreihen im Diagramm dargestellt werden. Standardmäßig interpretiert... [mehr]

Excel VBA: Warum werden in Diagrammen Datenreihen bzw. Datenzeilen und Datenspalten vertauscht und wie kann man diese per VBA tauschen?

In Excel-Diagrammen werden Datenreihen standardmäßig entweder zeilenweise oder spaltenweise interpretiert – das heißt, Excel entscheidet anhand der markierten Daten, ob jede Zei... [mehr]

Wie ermittelt man in Excel VBA die Anzahl der Datenreihen eines Diagramms, dessen Daten aus zwei Tabellenbereichen stammen?

Um in Excel per VBA die Anzahl der Datenreihen (Series) eines Diagramms zu ermitteln, auch wenn die Daten aus zwei verschiedenen Tabellenbereichen stammen, kannst du wie folgt vorgehen: Jedes Diagram... [mehr]