Wie wählt man mehrere Blätter und Bereiche mit Application.inputBox aus und führt diese in ein ausgewähltes Blatt zusammen?

Antwort vom

Um mehrere Blätter und Bereiche mittels `Application.InputBox` auszuwählen und diese in ein mit `Application.InputBox` ausgewähltes Blatt zusammenzuführen, kannst du VBA (Visual Basic for Applications) in 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, indem du auf `Einfügen` > `Modul` klickst. 3. Kopiere und füge den folgenden Code in das Modul ein: ```vba Sub Zusammenführen() Dim wsZiel As Worksheet Dim wsQuelle As Worksheet Dim rngQuelle As Range Dim rngZiel As Range Dim strZielBlatt As String Dim strQuelleBlatt As String Dim strQuelleBereich As String Dim letzteZeile As Long ' Zielblatt auswählen strZielBlatt = Application.InputBox("Gib den Namen des Zielblatts ein:", Type:=2) On Error Resume Next Set wsZiel = ThisWorkbook.Sheets(strZielBlatt) On Error GoTo 0 If wsZiel Is Nothing Then MsgBox "Das Zielblatt existiert nicht." Exit Sub End If ' Schleife zum Auswählen und Kopieren der Quellbereiche Do ' Quellblatt auswählen strQuelleBlatt = Application.InputBox("Gib den Namen des Quellblatts ein (Abbrechen zum Beenden):", Type:=2) If strQuelleBlatt = "" Then Exit Do On Error Resume Next Set wsQuelle = ThisWorkbook.Sheets(strQuelleBlatt) On Error GoTo 0 If wsQuelle Is Nothing Then MsgBox "Das Quellblatt existiert nicht." Exit Sub End If ' Quellbereich auswählen On Error Resume Next Set rngQuelle = Application.InputBox("Wähle den Bereich im Quellblatt aus:", Type:=8) On Error GoTo 0 If rngQuelle Is Nothing Then MsgBox "Ungültiger Bereich." Exit Sub End If ' Letzte Zeile im Zielblatt finden letzteZeile = wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Row + 1 ' Bereich kopieren und einfügen rngQuelle.Copy Destination:=wsZiel.Cells(letzteZeile, 1) Loop MsgBox "Zusammenführung abgeschlossen." End Sub ``` 4. Schließe den VBA-Editor und kehre zu Excel zurück. 5. Führe das Makro aus, indem du `Alt + F8` drückst, das Makro `Zusammenführen` auswählst und auf `Ausführen` klickst. Dieses Makro fordert dich auf, den Namen des Zielblatts einzugeben, und dann in einer Schleife den Namen der Quellblätter und die Bereiche, die du kopieren möchtest. Es fügt die kopierten Bereiche untereinander im Zielblatt ein. Die Schleife endet, wenn du im Eingabefeld für den Namen des Quellblatts auf "Abbrechen" klickst.

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...