Wie kann ich mehrere Blätter und Bereiche mittels Application InputBox markieren und diese Daten in ein ausgewähltes Blatt einfügen?

Antwort vom

Um mehrere Blätter und Bereiche in Excel mittels `Application.InputBox` zu markieren und die Daten in ein ausgewähltes Blatt einzufügen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist ein Beispiel, wie du das machen könntest: 1. Öffne Excel und drücke `Alt + F11`, um den VBA-Editor zu öffnen. 2. Füge ein neues Modul ein (`Einfügen > Modul`). 3. Kopiere und füge den folgenden Code in das Modul ein: ```vba Sub CopyMultipleRanges() Dim ws As Worksheet Dim targetWs As Worksheet Dim rng As Range Dim targetRng As Range Dim userInput As String Dim userRange As Range Dim cell As Range Dim pasteRow As Long ' Zielblatt auswählen On Error Resume Next Set targetWs = Worksheets(Application.InputBox("Gib den Namen des Zielblatts ein:", Type:=2)) On Error GoTo 0 If targetWs Is Nothing Then MsgBox "Ungültiger Blattname. Abbruch." Exit Sub End If ' Zielbereich auswählen On Error Resume Next Set targetRng = Application.InputBox("Wähle die Zelle aus, in die die Daten eingefügt werden sollen:", Type:=8) On Error GoTo 0 If targetRng Is Nothing Then MsgBox "Ungültiger Bereich. Abbruch." Exit Sub End If pasteRow = targetRng.Row ' Blätter und Bereiche auswählen Do On Error Resume Next Set ws = Worksheets(Application.InputBox("Gib den Namen des Blatts ein, das du kopieren möchtest (oder drücke Abbrechen, um zu beenden):", Type:=2)) On Error GoTo 0 If ws Is Nothing Then Exit Do On Error Resume Next Set userRange = Application.InputBox("Wähle den Bereich auf dem Blatt " & ws.Name & " aus, den du kopieren möchtest:", Type:=8) On Error GoTo 0 If userRange Is Nothing Then Exit Do ' Daten kopieren und einfügen userRange.Copy Destination:=targetWs.Cells(pasteRow, targetRng.Column) pasteRow = pasteRow + userRange.Rows.Count Loop MsgBox "Daten wurden erfolgreich kopiert." End Sub ``` 4. Schließe den VBA-Editor und kehre zu Excel zurück. 5. Führe das Makro aus (`Alt + F8`, wähle `CopyMultipleRanges` und klicke auf `Ausführen`). Dieses Makro fordert dich auf, den Namen des Zielblatts und die Zelle, in die die Daten eingefügt werden sollen, einzugeben. Anschließend kannst du nacheinander die Blätter und Bereiche auswählen, die du kopieren möchtest. Die Daten werden dann in das ausgewählte Blatt eingefügt.

Kategorie: Technologie Tags: Excel VBA InputBox

Verwandte Fragen

Syntax von IsNumeric in Excel-VBA?

IsNumeric(Ausdruck) Beispiel: vba If IsNumeric(Range("A1").Value) Then MsgBox "Zahl" Else MsgBox "Keine Zahl" End If Rückgabewert: True = numerisch False = nich...

Gibt es die Excel-Funktion ZÄHLENWENN auch in Excel-VBA?

Ja. In Excel-VBA gibt es dafür WorksheetFunction.CountIf oder direkt Application.CountIf. Beispiel: vba Dim erg As Long erg = Application.WorksheetFunction.CountIf(Range("A1:A10"), &...

Wie nennt man das Zerlegen einer Excel-VBA-Prozedur in mehrere Teile?

Das nennt man meist Refactoring, genauer: Modularisierung: eine große Prozedur in mehrere kleinere Prozeduren/Funktionen aufteilen Extrahieren von Methoden/Prozeduren (Extract Method): Teilcode...

Wie lege ich in Excel eine UserForm an?

„UnserForm“ ist in Excel kein gängiger Begriff. Gemeint ist sehr wahrscheinlich UserForm. So legst du in Excel eine UserForm an: 1. Entwicklertools aktivieren Excel öffnen Date...

Kann man in Excel-VBA die Schriftgröße der MsgBox ändern?

Nein. Die Schriftgröße der eingebauten VBA-MsgBox lässt sich nicht direkt ändern. Möglichkeiten: Eigene UserForm verwenden → volle Kontrolle über Schriftgrö&s...

Ist dieser Excel-VBA-Code korrekt, um Spalten auszublenden und einen Bereich wieder einzublenden?

Nein. Korrekt ist bei Columns die Angabe von Spaltenbuchstaben oder Spaltennummern als Bereich, nicht "spaltevon:spaltebis" wörtlich. Beispiel: vba With Sheets("Tab1") .Co...

Excel-Makro: Spalten E:G per Button ein- und ausblenden?

Ja. Verwende dieses Makro und weise es dem Button zu: vba Sub SpaltenEGUmschalten() Columns("E:G").EntireColumn.Hidden = Not Columns("E").EntireColumn.Hidden End Sub So funktio...

Kann man in Excel nur einen bestimmten Bereich schützen, ohne den Blattschutz zu verwenden?

Nein. In Excel lässt sich ein bestimmter Bereich nicht wirksam separat schützen, ohne am Ende doch den Blattschutz zu verwenden. Das Prinzip ist: Zellen bekommen die Eigenschaft „Gesp...

Wie Excel-Tabelle in Word-Datei umwandeln?

Eine Excel-Tabelle lässt sich in Word auf mehrere Arten übernehmen: 1. Kopieren und einfügen Tabelle in Excel markieren Strg + C In Word klicken Strg + V 2. Als verknüpfte Tabell...

Excel-Makro: Im Bereich B10:B20, wenn der IndentLevel in Spalte B = 1 ist, dann in dieser Zeile in B:O oben eine dünne Rahmenlinie setzen?

vba Sub RahmenObenBeiIndent1() Dim ws As Worksheet Dim c As Range Set ws = ActiveSheet For Each c In ws.Range("B10:B20") If c.IndentLevel = 1 Then With ws.Range(ws.Cells(c.Row, &q...