Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kopieren in die erste leere Zeile ab Spalte B

Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 11:48:04
Dieter
HAllo liebe Leute,
ich brauch mal Eure kompetente Hilfe ;)
Ich habe eine Datei inb der ich ein Eingabeblatt habe. Nun möchte ich die Eingabedaten, die ich ineiner Zeile zusammensammel in ein anderes Blatt derselben Datei kopieren.
BSP. Ich will aus dem Blatt "Eingabe" die Daten aus den Feldern J14 bis R14
auf die Seiter "Vertragsliste" kopieren. Da ich auf dieser Seite je nach Befüllung noch eine laufende Nummer zusteuer sollen die kopierten Einträge ab Spalte B jeweils in die nächste leere Zeile kopiert werden.
Ich hoffe mr kann jemand helfen...
Lieben Dank
Dieter

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 11:52:56
Rudi
Hallo,
sheets("vertragsliste").cells(rows.count,2).end(xlup).offset(1).resize(,9)=sheets("Eingabe").Range("J14:R14")
Gruß
Rudi

das ist aber nicht "kopiert", Rudi ...
15.05.2013 12:10:12
Klaus
... und nimmt daher die Formate, Formeln, Rahmen usw nicht mit.
Grüße,
Klaus M.vdT.

AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 11:54:37
Klaus
Hallo Dieter,
auf die schnelle so:
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
'Formeln und Formate mitkopieren? Wenn nein, das "xlpastevalues" einkommentieren.
End With
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:03:13
Dieter
Hallo Klaus,
Wahnsinn das klappt ;) Super ich bin total begeistert. Welcher Befehl fügt nun noch eine Meldung ein (Bzw. öffnet ein Fenster auf dem ich weiter oder abbrechen kann?)
LG Dieter

AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:08:23
Klaus
Welcher Befehl fügt nun noch eine Meldung ein (Bzw. öffnet ein Fenster auf dem ich weiter oder abbrechen kann?)
Oooohm ... aus dem Ärmel mal so:
Sub KopiereHinterLetzte()
Dim iRow As Long
if MsgBox("Wirklich kopieren?", vbyesno) = 6 then
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
'Formeln und Formate mitkopieren? Wenn nein, das "xlpastevalues" einkommentieren.
End With
end if
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:15:34
Dieter
Klasse Danke. Eine Frage hätte ich da noch, dann gebe ich auch Ruhe ;)
Wenn ich nun den letzten Eintrag bzw. einen Eintrag mit einer bestimmten laufenden Nummer löschen will in der Vetragsliste, wie gehe ich da vor? Und kann ich vor dem löpschen den kompletten Inhalt des Blatts Vertragsliste auf das Blatt "Sicherung" kopieren?
LG

Anzeige
AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:20:28
Klaus
Wenn ich nun den letzten Eintrag bzw. einen Eintrag mit einer bestimmten laufenden Nummer löschen will in der Vetragsliste, wie gehe ich da vor? Und kann ich vor dem löpschen den kompletten Inhalt des Blatts Vertragsliste auf das Blatt "Sicherung" kopieren?
Vorgehen: Du lädst mal eine Beispieldatei hoch. Ich weiss ja nicht, wo deine laufenden Nummern stehen usw.
Grüße,
Klaus M.vdT.

Anzeige
AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:28:02
Dieter
Hier mal eine Beispieldatei

Die Datei https://www.herber.de/bbs/user/85336.xls wurde aus Datenschutzgründen gelöscht


Vielen Dank schonmal

AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:31:40
Dieter
gut wäre wenn sich der gelösche Eintrag ab B (Datum mit "XXX" befüllt wird, sodass die Nummerierung bleibt

Anzeige
AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:51:25
Klaus
gut wäre wenn sich der gelösche Eintrag ab B (Datum mit "XXX" befüllt wird, sodass die Nummerierung bleibt
Das kommt spät!
Ich habe einfach die Formel für die Nummer umgeschrieben, so dass ihr der fehlende Index egal ist.
Grüße,
Klaus M.vdT.

AW: Kopieren in die erste leere Zeile ab Spalte B
15.05.2013 12:50:34
Klaus
Hi Dieter,
habs eingebaut, hat einen Button in "Vertragsliste".
Bei der Gelegenheit habe ich auch gleich eine handvoll Formeln korrigiert, alle Korrekturen gelb markiert. Fragen? Fragen!
https://www.herber.de/bbs/user/85337.xls
Grüße,
Klaus M.vdT.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Kopieren in die erste leere Zeile ab Spalte B


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und navigiere zum Eingabeblatt, in diesem Fall "Eingabe".

  2. Starte den VBA-Editor mit ALT + F11.

  3. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  4. 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
  5. 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

  • Fehler: "Laufzeitfehler 1004"

    • Lösung: Überprüfe, ob die Blätter "Eingabe" und "Vertragsliste" korrekt benannt sind.
  • Fehler: Die Daten werden nicht kopiert

    • Lösung: Stelle sicher, dass du die richtige Range in Sheets("Eingabe").Range("J14:R14") angegeben hast.

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:

  1. Füge einen Button hinzu: Entwicklertools > Einfügen > Button.
  2. Verknüpfe den Button mit dem Makro: Wähle KopiereHinterLetzte aus der Liste aus.
  3. 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.

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