Kopieren in die erste leere Zeile ab Spalte B
Schritt-für-Schritt-Anleitung
-
Öffne deine Excel-Datei und navigiere zum Eingabeblatt, in diesem Fall "Eingabe".
-
Starte den VBA-Editor mit ALT + F11
.
-
Füge ein neues Modul hinzu: Klicke auf Einfügen
> Modul
.
-
Kopiere den folgenden Code in das Modul:
Sub KopiereHinterLetzte()
Dim iRow As Long
Sheets("Eingabe").Range("J14:R14").Copy
With Sheets("Vertragsliste")
' letzte Zeile aus Spalte B (B=2) / +1, damit es nicht den letzten Eintrag überschreibt
iRow = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
.Range("B" & iRow).PasteSpecial xlPasteValues
' Formate mitkopieren? Wenn ja, das "xlPasteValues" einkommentieren.
End With
End Sub
-
Führe das Makro aus: Gehe zurück zu Excel, drücke ALT + F8
, wähle KopiereHinterLetzte
und klicke auf Ausführen
.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um in die nächste leere Zeile ab Spalte B zu kopieren, ist die Verwendung von vba copy to next empty row
. Verwende den folgenden Code:
Sub KopiereInLeereZeile()
Dim wsEingabe As Worksheet
Dim wsVertragsliste As Worksheet
Dim nextRow As Long
Set wsEingabe = ThisWorkbook.Sheets("Eingabe")
Set wsVertragsliste = ThisWorkbook.Sheets("Vertragsliste")
nextRow = wsVertragsliste.Cells(wsVertragsliste.Rows.Count, 2).End(xlUp).Row + 1
wsEingabe.Range("J14:R14").Copy wsVertragsliste.Cells(nextRow, 2)
End Sub
Praktische Beispiele
Wenn du beispielsweise einen Button in deiner "Vertragsliste" erstellen möchtest, der das Kopieren ausführt, gehe wie folgt vor:
- Füge einen Button hinzu: Entwicklertools > Einfügen > Button.
- Verknüpfe den Button mit dem Makro: Wähle
KopiereHinterLetzte
aus der Liste aus.
- Klicke auf den Button, um die Daten zu kopieren.
Tipps für Profis
-
Formate mitkopieren: Wenn du auch die Formate und Formeln mitkopieren möchtest, kannst du xlPasteAll
anstelle von xlPasteValues
verwenden.
-
Eingaben validieren: Füge eine MsgBox hinzu, um zu bestätigen, dass der Benutzer wirklich kopieren möchte:
If MsgBox("Wirklich kopieren?", vbYesNo) = vbYes Then
' Kopiervorgang hier
End If
-
Automatisches Füllen: Du kannst eine leere Zeile zum Kopieren in eine andere Spalte einfügen, um die Benutzerfreundlichkeit zu erhöhen.
FAQ: Häufige Fragen
1. Wie kann ich den letzten Eintrag löschen?
Um den letzten Eintrag zu löschen, kannst du einfach die Zeile, die den Eintrag enthält, auswählen und löschen.
2. Wie kann ich den gesamten Inhalt des Blattes "Vertragsliste" auf das Blatt "Sicherung" kopieren?
Nutze den folgenden Code:
Sheets("Vertragsliste").Cells.Copy Destination:=Sheets("Sicherung").Cells
3. Kann ich die Meldung für das Kopieren anpassen?
Ja, du kannst den Text in der MsgBox anpassen, indem du den Text in der MsgBox
-Funktion änderst.