Wie mehrere Blätter mit Application.InputBox markieren und in ein ausgewähltes Arbeitsblatt importieren?

Antwort

Um mehrere Blätter mittels `Application.InputBox` in VBA zu markieren und in ein ausgewähltes Arbeitsblatt zu importieren, kann folgender Code verwendet werden: ```vba Sub ImportSheets() Dim ws As Worksheet Dim selectedSheets As Variant Dim targetSheet As Worksheet Dim i As Integer Dim lastRow As Long ' Eingabeaufforderung zur Auswahl der Blätter selectedSheets = Application.InputBox("Gib die Namen der Blätter ein, getrennt durch Kommas:", "Blätter auswählen", Type:=2) ' Überprüfen, ob die Eingabe abgebrochen wurde If selectedSheets = False Then Exit Sub ' Zielarbeitsblatt auswählen Set targetSheet = ThisWorkbook.Sheets("Zielblatt") ' Ersetze "Zielblatt" durch den Namen des Zielarbeitsblatts ' Blätter in ein Array aufteilen selectedSheets = Split(selectedSheets, ",") ' Durch die ausgewählten Blätter iterieren For i = LBound(selectedSheets) To UBound(selectedSheets) Set ws = ThisWorkbook.Sheets(Trim(selectedSheets(i))) ' Letzte Zeile im Zielarbeitsblatt finden lastRow = targetSheet.Cells(targetSheet.Rows.Count, "A").End(xlUp).Row + 1 ' Daten kopieren und einfügen ws.UsedRange.Copy Destination:=targetSheet.Cells(lastRow, 1) Next i MsgBox "Blätter wurden erfolgreich importiert!" End Sub ``` Dieser Code führt folgende Schritte aus: 1. Zeigt eine Eingabeaufforderung an, in der die Namen der zu importierenden Blätter eingegeben werden können, getrennt durch Kommas. 2. Überprüft, ob die Eingabe abgebrochen wurde. 3. Wählt das Zielarbeitsblatt aus, in das die Daten importiert werden sollen. 4. Teilt die eingegebenen Blattnamen in ein Array auf. 5. Iteriert durch die ausgewählten Blätter, kopiert deren Daten und fügt sie in das Zielarbeitsblatt ein. Stelle sicher, dass das Zielarbeitsblatt existiert und passe den Namen des Zielarbeitsblatts im Code entsprechend an.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie kann ich aus markierten Arbeitsblättern einen definierten Bereich auswählen und kopieren (VBA)?

Um in VBA einen definierten Bereich aus markierten Arbeitsblättern auszuwählen und zu kopieren, kannst du den folgenden Code verwenden. Dieser Code geht davon aus, dass du mehrere Arbeitsbl&... [mehr]

Wie wähle ich mittels VBA Code Arbeitsblätter aus?

Um Arbeitsblätter in Excel mittels VBA auszuwählen, kannst du den folgenden Code verwenden: ```vba Sub ArbeitsblattAuswählen() ' Arbeitsblatt mit dem Namen "Sheet1"... [mehr]

Wie kann ich mittels VBA überprüfen, ob der Zugriff auf ein Laufwerk möglich ist, ohne das Kommando dir und ohne das Scripting.FileSystemObject?

Um in VBA zu überprüfen, ob der Zugriff auf ein Laufwerk möglich ist, ohne das Kommando `dir` und ohne das `Scripting.FileSystemObject` zu verwenden, die `GetAttr-Funktion verwendet. Di... [mehr]