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

Kann man aus Access mit VBA ein passwortgeschütztes PDF ohne das Passwort entsperren?

Nein, aus Microsoft Access mit VBA (Visual Basic for Applications) ist es nicht möglich, ein passwortgeschütztes PDF zu entsperren, ohne das Passwort zu kennen. Das Umgehen oder Entfernen ei... [mehr]

Wie bekomme ich in Access VBA das Verzeichnis der PowerPoint.exe?

Um in Access VBA das Verzeichnis der PowerPoint-Executable (powerpnt.exe) zu ermitteln, kannst du die Windows-Registry abfragen. Dort steht der Installationspfad von PowerPoint. Hier ein Beispiel, wie... [mehr]

Warum wird beim Öffnen einer Excel-Datei nach Application.Quit in VBA nur eine leere Excel-Instanz angezeigt?

Das Verhalten, dass beim Öffnen einer Excel-Datei nur eine leere Excel-Instanz angezeigt wird, kann mit dem VBA-Befehl `Application.Quit` zusammenhängen. Hier die Erklärung: **Was mach... [mehr]

Wie kann ich in Excel per VBA eine Zelle aus einem Arbeitsblatt (z. B. B5) kopieren und in einem anderen Arbeitsblatt (z. B. C5) einfügen?

Um in Excel mittels VBA eine Zelle (z.B. B5) aus einem Arbeitsblatt zu kopieren und in einem anderen Arbeitsblatt (z.B. C5) einzufügen, kannst du folgenden VBA-Code verwenden: ```vba Sub ZelleKo... [mehr]

Warum werden beim automatisierten Öffnen einer PowerPoint-Datei mit Excel VBA die Verknüpfungen nicht aktualisiert?

Wenn du per VBA aus Excel heraus eine PowerPoint-Datei automatisiert öffnest, werden die Verknüpfungen (z.B. zu Excel-Tabellen, Diagrammen oder anderen eingebetteten/gelinkten Objekten) stan... [mehr]

Wie kann in PowerPoint per VBA eine automatische Aktualisierung ohne Warnmeldung durchgeführt werden?

Um in PowerPoint eine automatische Aktualisierung von Inhalten (z.B. eingebettete Excel-Tabellen oder verknüpfte Objekte) per VBA durchzuführen, ohne dass eine Warnmeldung erscheint, gibt es... [mehr]