Wie wählt man mehrere Blätter und Bereiche mit VBA InputBox aus und fügt diese Daten in ein markiertes Blatt ein?

Antwort

Um mehrere Blätter und Bereiche mit einer VBA InputBox auszuwählen und diese Daten in ein durch Markieren ausgewähltes Blatt einzufügen, kannst du den folgenden VBA-Code verwenden. Dieser Code zeigt, wie du eine InputBox verwenden kannst, um die Blätter und Bereiche auszuwählen und die Daten dann in ein Zielblatt einzufügen. ```vba Sub CopyDataToSelectedSheet() Dim ws As Worksheet Dim targetSheet As Worksheet Dim targetRange As Range Dim sourceRange As Range Dim sheetNames As String Dim sheetName As Variant Dim prompt As String Dim title As String ' Prompt for sheet names prompt = "Gib die Namen der Blätter ein, getrennt durch Kommas:" title = "Blätter auswählen" sheetNames = InputBox(prompt, title) ' Split the sheet names into an array Dim sheetArray() As String sheetArray = Split(sheetNames, ",") ' Prompt for target sheet prompt = "Wähle das Zielblatt aus:" title = "Zielblatt auswählen" Set targetSheet = Application.InputBox(prompt, title, Type:=8) ' Prompt for target range prompt = "Wähle den Zielbereich aus:" title = "Zielbereich auswählen" Set targetRange = Application.InputBox(prompt, title, Type:=8) ' Loop through each sheet name and copy data For Each sheetName In sheetArray Set ws = ThisWorkbook.Sheets(Trim(sheetName)) ' Prompt for source range in each sheet prompt = "Wähle den Bereich in " & ws.Name & " aus:" title = "Quellbereich auswählen" Set sourceRange = Application.InputBox(prompt, title, Type:=8) ' Copy data from source range to target range sourceRange.Copy Destination:=targetRange ' Adjust target range for next paste Set targetRange = targetRange.Offset(sourceRange.Rows.Count, 0) Next sheetName End Sub ``` Dieser Code führt folgende Schritte aus: 1. Fragt den Benutzer nach den Namen der Blätter, getrennt durch Kommas. 2. Fragt den Benutzer nach dem Zielblatt. 3. Fragt den Benutzer nach dem Zielbereich im Zielblatt. 4. Durchläuft jedes Blatt, das in der InputBox angegeben wurde, und fragt nach dem Quellbereich in jedem Blatt. 5. Kopiert die Daten aus dem Quellbereich in den Zielbereich und passt den Zielbereich für die nächste Kopie an. Bitte beachte, dass dieser Code davon ausgeht, dass die Blätter und Bereiche korrekt eingegeben und ausgewählt werden. Es gibt keine Fehlerbehandlung für ungültige Eingaben oder Bereiche.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie funktioniert oPPT.Presentations.Open(sFile) in VBA?

Die Methode `oPPT.Presentations.Open(sFile)` stammt aus der Automatisierung von Microsoft PowerPoint mit VBA (Visual Basic for Applications) oder anderen Programmiersprachen, die COM-Automatisierung u... [mehr]

Wie kann ich mit VBA den Wert einer benannten Zelle in eine Zelle eines anderen Arbeitsblatts kopieren?

Um mit VBA den Wert einer Zelle, der ein definierter Name zugewiesen wurde, in eine Zelle eines anderen Arbeitsblatts zu kopieren, kannst du folgenden Code verwenden: ```vba Sub WertKopieren() &#... [mehr]

Mit welcher Funktion kann ich in VBA einen im Arbeitsblatt ermittelten Wert anzeigen?

In VBA kannst du einen Wert, den dein Makro zuvor ermittelt hat, mit der Funktion `MsgBox` anzeigen. Beispiel: ```vba Dim ermittelterWert As Double ermittelterWert = Worksheets("Tabelle1").... [mehr]

Wie lässt sich in Excel VBA der Typ eines Tabellenblatts (Chart oder Worksheet) ermitteln?

In Excel VBA kannst du den Typ eines Tabellenblatts (ob es sich um ein Arbeitsblatt oder ein Diagrammblatt handelt) mit der Type-Eigenschaft des jeweiligen Objekts ermitteln. Hier ein Beispiel: ```vb... [mehr]

Wie kann man in Access VBA die Bildschirmaktualisierung verhindern bzw. den Bildschirm einfrieren?

In Microsoft Access (VBA) gibt es keine direkte Methode wie `Application.ScreenUpdating = False` (wie in Excel), um den Bildschirm während der Ausführung von Code "einzufrieren". D... [mehr]

Wie öffne ich per VBA aus einer Access-Anwendung eine andere Access-Anwendung?

Um aus einer Access-Anwendung per VBA eine andere Access-Anwendung zu öffnen, kannst du das **CreateObject**-Kommando verwenden und die gewünschte Datenbank mit der **OpenCurrentDatabase**-M... [mehr]

Wie kann die VBA-Formel angepasst werden, sodass alle Mitarbeiter in die Zieltabelle übertragen werden?

Hier ist die überarbeitete Version des Makros, die **jeden Mitarbeiter** aus dem Bereich C9:C66 der Quell-Tabelle ("Personen einzelnd drucken") in die Ziel-Tabelle ("Arbeitsplan&qu... [mehr]

VBA: Tabelle prüfen, ob Spalte 3 Werte stehen. Sobald Spalte 3 leer ist, Wert der Spalte 1 kopieren bis zum letzten Wert in Spalte 1.

Um in VBA zu überprüfen, ob in Spalte 3 Werte stehen und bei einer leeren Zelle in Spalte 3 den Wert aus Spalte 1 zu kopieren, kannst du den folgenden Code verwenden. Dieser Code durchlä... [mehr]

Wie lautet der VBA-Code, um aus Excel eine E-Mail zu erstellen mit einem Empfänger im BCC?

Um in Excel mit VBA eine E-Mail zu erstellen, bei der der Empfänger im BCC steht, kannst du folgenden Code verwenden: ```vba Sub SendEmailWithBCC() Dim OutlookApp As Object Dim OutlookMa... [mehr]

Welche Logik steckt hinter VBA?

Die Logik hinter VBA (Visual Basic for Applications) basiert der Programmiersprache Visual Basic, die speziell für die Automatisierung von Aufgaben in Microsoft-Anwendungen wie Excel, Word und Ac... [mehr]