Markierte Zeile mittels Makro kopieren
Schritt-für-Schritt-Anleitung
- Öffne Excel und lade die Datei, in der Du die Zeilen kopieren möchtest.
- Markiere die ersten beiden Felder einer Zeile, die Du kopieren möchtest.
- Füge den VBA-Code ein:
- Drücke
ALT + F11
, um den Visual Basic-Editor zu öffnen.
- Wähle
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Sub uebertragen()
Dim strAnzeige As String
Dim loLetzte As Long
strAnzeige = MsgBox("Daten wirklich löschen?", vbYesNo)
If strAnzeige = vbYes Then
With Worksheets("Löschungen")
loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, _
1).End(xlUp).Row, .Rows.Count) + 1
Selection.EntireRow.Copy .Cells(loLetzte, 1)
Selection = 0
.Cells(loLetzte, 8) = Date
End With
End If
End Sub
-
Erstelle eine Schaltfläche:
- Gehe zurück zu Excel und wechsle zur Registerkarte
Entwicklertools
.
- Klicke auf
Einfügen
und wähle eine Schaltfläche aus der Formular-Symbolleiste.
- Ziehe die Schaltfläche auf das Arbeitsblatt und weise ihr das Makro
uebertragen
zu.
-
Teste die Funktion:
- Klicke auf die Schaltfläche, um die markierte Zeile zu kopieren und die beiden Felder auf
0
zu setzen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine Alternative zur Verwendung eines Makros wäre, die Daten manuell zu kopieren. Markiere die Zeile, drücke STRG + C
, wechsle zum Tabellenblatt „Löschungen“ und drücke STRG + V
. Dies ist jedoch weniger effizient, besonders bei großen Datenmengen.
Praktische Beispiele
- Beispiel 1: Du hast eine Liste von Teilnehmern und möchtest die markierte Zeile in ein Archivblatt verschieben, um die Übersichtlichkeit zu erhöhen.
- Beispiel 2: Bei der Verwaltung von Inventar kannst Du die markierte Zeile, die einen Artikel repräsentiert, in das „Löschungen“-Blatt kopieren, wenn dieser nicht mehr verfügbar ist.
Tipps für Profis
- Füge eine Fehlerbehandlung in Deinen VBA-Code ein, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben reibungslos funktioniert. Beispiel:
On Error Resume Next
- Nutze Schleifen und Bedingungen, um komplexere Aufgaben zu automatisieren, z.B. das Kopieren mehrerer Zeilen gleichzeitig.
FAQ: Häufige Fragen
1. Frage
Kann ich den Pfad für die Sicherungskopie ändern?
Antwort: Ja, passe den Pfad in der Funktion sicherheitskopie()
an, um die Sicherungskopie an einem anderen Ort zu speichern.
2. Frage
Wie kann ich das Datum im „Löschungen“-Blatt formatieren?
Antwort: Du kannst die Zelle formatieren, indem Du den folgenden Code zur Formatierung hinzufügst:
.Cells(loLetzte, 8).NumberFormat = "dd.mm.yyyy"
3. Frage
Gibt es eine Möglichkeit, mehrere Zeilen gleichzeitig zu kopieren?
Antwort: Ja, Du kannst die Auswahl anpassen, bevor Du das Makro ausführst, indem Du die gesamte Zeile oder mehrere Zeilen markierst.