Markierte Zeile per Makro kopieren in Excel
Schritt-für-Schritt-Anleitung
- 
Öffne Deine Excel-Datei mit den Reitern "Daten" und "Formblatt".
 
- 
Rechtsklick auf den Reiter "Daten" und wähle "Code anzeigen". 
 
- 
Füge den folgenden Code in das Codefenster ein, um das Doppelklick-Event zu verwenden:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Column = 1 Then
       If Target <> "" Then
           Cancel = True
           Range(Cells(Target.Row, Target.Column), Cells(Target.Row, _
           Cells(Target.Row, Columns.Count).End(xlToLeft).Column)).Copy _
           Worksheets("Formblatt").Range("D5")
       End If
   End If
End Sub
 
- 
Speichere Deine Änderungen und teste das Makro, indem Du einen Doppelklick auf eine Zelle in Spalte A machst.
 
- 
Um mehrere Zeilen zu kopieren, verwende den folgenden Code anstelle des Doppelklicks:
Option Explicit
Public Sub KopiereMehrereZeilen()
   Dim raBereich As Range, raZelle As Range, i As Long
   Application.ScreenUpdating = False
   For i = 1 To 19
       Select Case i
           Case 1, 3, 6 To 8, 19
               For Each raZelle In Selection.Rows
                   If raBereich Is Nothing Then
                       Set raBereich = Cells(raZelle.Row, i)
                   Else
                       Set raBereich = Union(raBereich, Cells(raZelle.Row, i))
                   End If
               Next raZelle
           Case Else
       End Select
   Next i
   raBereich.Copy Worksheets("Formblatt").Range("A1")
   Set raBereich = Nothing
End Sub
 
- 
Verknüpfe das Makro mit einem Button auf dem "Formblatt":
- Gehe zu "Entwicklertools" > "Einfügen" > wähle "Button".
 
- Zeichne den Button auf das Formular und wähle das Makro "KopiereMehrereZeilen".
 
 
Häufige Fehler und Lösungen
Alternative Methoden
Eine Möglichkeit, die gleiche Funktionalität zu erreichen, ist die Verwendung von Excel-Formeln oder Power Query, um Daten zu extrahieren und auf das "Formblatt" zu bringen. Dies ist jedoch weniger flexibel als die Verwendung von Makros.
Praktische Beispiele
Angenommen, Du möchtest die Spalten A, C, F, G, H und S kopieren. Stelle sicher, dass Du die Select Case-Anweisung in Deinem VBA-Code entsprechend anpasst, um diese Spalten zu berücksichtigen.
Select Case i
    Case 1, 3, 6, 7, 8, 19 ' Hier die relevanten Spalten auswählen
Tipps für Profis
- Nutze Fehlerbehandlungsroutinen in VBA, um sicherzustellen, dass Dein Makro auch bei unerwartetem Verhalten stabil bleibt.
 
- Experimentiere mit der Aufzeichnungsfunktion in Excel, um den VBA-Code für komplexere Aufgaben zu verstehen und zu lernen.
 
FAQ: Häufige Fragen
1. Kann ich das Makro so anpassen, dass es in eine andere Zeile im "Formblatt" kopiert?
Ja, ändere einfach die Zeile in der Range-Anweisung, z.B. Worksheets("Formblatt").Range("D10").
2. Ist es möglich, den Code so zu erweitern, dass eine Bestätigung vor dem Kopieren erfolgt?
Ja, das kannst Du mit einer MsgBox tun, die den Benutzer fragt, ob er fortfahren möchte.
3. Welche Excel-Version benötige ich für diese Makros?
Diese Makros sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2013, 2016, 2019 und Microsoft 365.