Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Aktive Zeile Kopieren und in anderes Blatt einfüge

Aktive Zeile Kopieren und in anderes Blatt einfüge
28.01.2017 07:27:06
Defence
Hallo Profis
Stehe hier vor einem Problem. Ich haben in Spalte A-C werte drin und das bei über 1000 Zeilen. Wenn ich jetzt zum Beispiel mit Doppelklick auf D2 gehe, soll es die aktive Zeile A2-C2 kopieren und in ein anderes Blatt einfügen.
Das Makro hierfür steht schon fast und funktioniert hier soweit.

Sub Makro3()
' Makro3 Makro
Range("D2").Select
Range("A2:C2").Select
Range("C2").Activate
Selection.copy
Windows("Mappe3").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub

Nur wie bringe ich es hin, dass ich mit Doppelklick auf die Zelle D2 das Makro auslösen kann, resp. wie kann ich das auf alle Zellen D1-D1000 anwenden?
Freue mich auf eure Rückmeldung.
Gruss
defence
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktive Zeile Kopieren und in anderes Blatt einfüge
28.01.2017 07:57:01
Werner
Hallo,
1. Wohin soll kopiert werden?
2. Bei jedem neuen Kopiervorgang in die gleiche Zeile im Zielblatt (vorhandene Daten werden
überschreiben)?
3. Oder im Zielblatt die Daten dann jeweils in die erste freie Zeile?
Gruß Werner
AW: Aktive Zeile Kopieren und in anderes Blatt einfüge
28.01.2017 08:20:02
Matthias
Hallo
Das geht z.B. so:
https://www.herber.de/bbs/user/110959.xlsm
Gruß Matthias
Anzeige
Aktive Zeile Kopieren und in anderes Blatt einfüge
28.01.2017 08:49:16
Defence
Hey Matthias
Das ist 1A super. Genau so geht's. Vielen Dank.
Gruss Defence
;
Anzeige
Anzeige

Infobox / Tutorial

Aktive Zeile kopieren und in ein anderes Blatt einfügen


Schritt-für-Schritt-Anleitung

Um die aktive Zeile zu kopieren und in ein anderes Blatt einzufügen, kannst Du das folgende VBA-Makro verwenden. Dieses Beispiel zeigt, wie Du beim Doppelklick auf eine Zelle in Spalte D die entsprechenden Werte aus den Spalten A bis C kopierst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke mit der rechten Maustaste auf das entsprechende Arbeitsblatt im Projekt-Explorer und wähle „Code anzeigen“.

  3. Füge den folgenden Code ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        If Not Intersect(Target, Me.Range("D1:D1000")) Is Nothing Then
            Dim Zeile As Long
            Zeile = Target.Row
            Range("A" & Zeile & ":C" & Zeile).Copy
            Windows("Mappe3").Activate
            Dim ZielZeile As Long
            ZielZeile = Cells(Rows.Count, 1).End(xlUp).Row + 1
            Range("A" & ZielZeile).PasteSpecial Paste:=xlPasteAll
            Application.CutCopyMode = False
            Cancel = True
        End If
    End Sub
  4. Schließe den VBA-Editor und teste das Makro, indem Du doppelt auf eine Zelle in Spalte D klickst.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass das Makro im richtigen Arbeitsblattcode eingegeben ist und dass Du in den Excel-Optionen die Ausführung von Makros aktiviert hast.
  • Fehler: Die Daten werden nicht in die richtige Zeile eingefügt.

    • Lösung: Prüfe den Code und stelle sicher, dass die Logik zur Bestimmung der Zielzeile korrekt implementiert ist.

Alternative Methoden

Eine alternative Methode besteht darin, die Werte manuell zu kopieren, aber dies erfordert mehr Aufwand und ist weniger effizient. Für eine automatisierte Lösung empfehle ich die Verwendung von VBA, wie oben beschrieben.

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die „Suchen und Ersetzen“-Funktion in Excel verwenden, um Daten zu kopieren, was allerdings nicht so flexibel ist.


Praktische Beispiele

Ein Beispiel für die Verwendung des Makros könnte sein, dass Du eine Liste von Verkäufen in einem Blatt hast und beim Doppelklick auf die Spalte D die entsprechenden Verkaufsdaten in ein Analyseblatt kopieren möchtest. Dies ist besonders nützlich, wenn Du regelmäßig Daten zur Auswertung benötigst.


Tipps für Profis

  • Überlege, die Zielarbeitsmappe zu überprüfen, ob sie bereits geöffnet ist, bevor Du versuchst, sie zu aktivieren.
  • Verwende Application.ScreenUpdating = False, um das Flackern des Bildschirms während des Kopiervorgangs zu verhindern, und setze es am Ende wieder auf True.
Application.ScreenUpdating = False
' Dein Kopiercode hier
Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Wie kann ich das Makro für andere Spalten anpassen?
Du kannst die Range-Parameter im Code ändern, um andere Spalten zu berücksichtigen. Zum Beispiel, wenn Du auch D kopieren möchtest, ändere den Bereich entsprechend.

2. Was passiert, wenn das Zielblatt nicht existiert?
Das Makro gibt einen Fehler zurück, wenn das Zielblatt nicht geöffnet ist. Stelle sicher, dass die Datei „Mappe3“ existiert und geöffnet ist, bevor Du das Makro ausführst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige