Wie kopiere ich gleichzeitig einen definierten Bereich aus ausgewählten Blättern in ein ausgewähltes Blatt mit VBA und Application.InputBox?

Antwort

Um in VBA (Visual Basic for Applications) einenerten Bereich aus ausgewählten Blättern zu kopieren und in ein ausgewähltes Blatt einzufügen, kann die `Application.InputBox` verwendet werden, um den Bereich und das Zielblatt zu spezifizieren. Hier ist ein Beispiel, wie das gemacht werden kann```vba Sub CopyRangeFromSelectedSheets() Dim ws As Worksheet Dim targetSheet As Worksheet Dim copyRange As Range Dim targetRange As Range Dim userRange As String Dim targetSheetName As String ' Eingabeaufforderung für den zu kopierenden Bereich userRange = Application.InputBox("Gib den Bereich ein, der kopiert werden soll (z.B. A1:D10):", Type:=8).Address ' Eingabeaufforderung für das Zielblatt 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 ausgewählten Blätter For Each ws In ThisWorkbook.Sheets If ws.Visible = xlSheetVisible Then ' Bereich kopieren Set copyRange = ws.Range(userRange) copyRange.Copy ' Zielbereich festlegen (hier wird angenommen, dass der Zielbereich die gleiche Größe hat) Set targetRange = targetSheet.Cells(1, 1).Resize(copyRange.Rows.Count, copyRange.Columns.Count) ' Bereich einfügen targetRange.PasteSpecial Paste:=xlPasteAll End If Next ws ' Zwischenablage leeren Application.CutCopyMode = False MsgBox "Bereich wurde erfolgreich kopiert und eingefügt.", vbInformation End Sub ``` Dieses Skript führt folgende Schritte aus: 1. Es fordert den Benutzer auf, den zu kopierenden Bereich und das Zielblatt anzugeben. 2. Es überprüft, ob das Zielblatt existiert. 3. Es durchläuft alle sichtbaren Blätter im Arbeitsbuch und kopiert den angegebenen Bereich. 4. Es fügt den kopierten Bereich in das Zielblatt ein. Bitte beachte, dass dieses Beispiel davon ausgeht, dass der Zielbereich im Zielblatt immer bei Zelle A1 beginnt und die gleiche Größe wie der kopierte Bereich hat. Anpassungen können je nach spezifischen Anforderungen vorgenommen werden.

KI fragen

Verwandte Fragen

Ist Shapes("Rechteck 1").Visible = True korrekt in Excel-VBA?

Der Ausdruck `Shapes("Rechteck 1").Visible = True` ist in Excel-VBA **nicht korrekt**, da das `Visible`-Eigenschaftsmerkmal für Shapes in Excel-VBA **nicht existiert**. In Excel-VBA s... [mehr]

Ist folgender Excel-VBA-Code korrekt: HeightPt = Rows("4:" & Cells(49,19).Row).Height?

Der gezeigte Code ist in Excel-VBA **nicht korrekt** und führt zu einem Fehler. Das Problem liegt in der Syntax innerhalb der `Rows`-Funktion. Hier die Analyse: **Dein Code:** ```vba HeightPt =... [mehr]

Wie kann man in Excel-VBA einen RGB-Code aus einer Zelle lesen?

Um in Excel-VBA einen RGB-Code aus einer Zelle zu lesen und diesen z.B. für die Füllfarbe eines Shapes zu verwenden, kannst du wie folgt vorgehen: Angenommen, in Zelle **A1** steht der RGB-... [mehr]

Ist der Code wert = Range("Ergebnisse[Gab Bauteil lang]").Value in VBA fehlerfrei?

Der Code `wert = Range("Ergebnisse[Gab Bauteil lang]").Value` ist in VBA **nicht fehlerfrei**, wenn du auf eine Excel-Tabelle mit strukturierten Verweisen (Tabellenreferenzen) zugreifen m&ou... [mehr]

Kann man Private Sub Workbook_SheetBeforeRightClick in Private Sub Workbook_Open integrieren?

Nein, das ist nicht möglich. In VBA (Visual Basic for Applications) sind `Workbook_Open` und `Workbook_SheetBeforeRightClick` zwei eigenständige Ereignisprozeduren (Event Handler), die jewei... [mehr]

Gibt es If Not (Bedingung) Then in VBA für Excel?

Ja, in VBA für Excel gibt es die Möglichkeit, eine Bedingung mit **If Not (Bedingung) Then** zu prüfen. Das Schlüsselwort **Not** kehrt die Bedingung um. Hier ein Beispiel: ```vba... [mehr]

Ist 'Range(Cells(a,10):Cells(b,10)).Copy' im VBA-Code korrekt?

Die Syntax `Range(Cells(a,10):Cells(b,10)).Copy` ist in VBA (Visual Basic for Applications) **nicht korrekt**. In VBA muss der Bereich innerhalb der `Range`-Funktion als String oder als zwei separate... [mehr]

Wie kann ich mit VBA den Bereich 'Test' in Blatt 1 kopieren und in Blatt 2 ab Zelle B18 einfügen?

Um in Excel mit VBA einen Bereich namens "test" aus Blatt 1 zu kopieren und in Blatt 2 ab Zelle B18 einzufügen, kannst du folgenden VBA-Code verwenden: ```vba Sub BereichKopieren()... [mehr]

Wie kann man Zahlen in Excel-VBA ohne wissenschaftliches Format in eine .txt-Datei schreiben?

Um Zahlen wie 6,9999999999 in Excel-VBA beim Schreiben in eine .txt-Datei **nicht** im wissenschaftlichen Format (z. B. 6,9999999999E+00), sondern exakt so wie sie sind (mit allen Nachkommastellen), z... [mehr]

Wie lautet die Syntax, um in Excel VBA ein bestimmtes Tabellenblatt zu aktivieren?

Um in Excel VBA ein bestimmtes Tabellenblatt zu aktivieren, verwendest du folgende Syntax: ```vba Worksheets("Tabellenblattname").Activate ``` Ersetze dabei `"Tabellenblattname"`... [mehr]