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

Forumthread: VBA letzte beschriebene Zeile finden und text kopieren

VBA letzte beschriebene Zeile finden und text kopieren
30.01.2020 18:55:40
Andi
Hallo Zusammen ,
ich habe ein Makro dass in die letzte beschriebene Zeile + Leerzeile einer Spalte z.B hier "B" den Inhalt von andereen Zellen kopiert .
Nun habe ich das Problem das ich das Makro gerne nur auf einen bestimmten bereich beziehen soll z.B "B25:B44"
Steht in dem Bereich nichts soll Zeile 25 als erste Zeile genommen werden und der Text in Zeile 27 kopiert werden
z.B steht in zelle B30 ein Wert soll der Text in Zeile B32 kopiert werden obwohl z.B in zelle 50 auch was steht was bei diesen Makro dann nicht funktionieren würde .
Hier mal das vorhandene Makro :

Sub Kopie_Letzte_Zeile()
Dim LastRow As Integer
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
Cells(LastRow + 2, "B") = Cells(135, "C")
Cells(LastRow + 2, "D") = Cells(135, "E")
Cells(LastRow + 2, "F") = Cells(135, "g")
End Sub

Ich hoffe ich konnte es genau genug erklären und es kann mir jemand helfen :)
Lg
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA letzte beschriebene Zeile finden und text kopieren
30.01.2020 21:19:10
GerdL
Moin Andi
Sub Kopie_Letzte_Zeile()
Dim LastRow As Long
If IsEmpty(Cells(43, "B")) Then
LastRow = Cells(43, "B").End(xlUp).Row
Else
LastRow = 43
End If
If LastRow 
Gruß Gerd
AW: VBA letzte beschriebene Zeile finden und text kopieren
30.01.2020 22:56:32
Andi
Danke Gerd ... Funktioniert einwandfrei
Gruß Andi
AW: VBA letzte beschriebene Zeile finden und text kopieren
31.01.2020 12:55:01
SF
Hola,
find ich toll dass du dich im anderen Forum auch für den Lösungsvorschlag bedankt hast....feiner Zug....nicht.
Gruß,
steve1da
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA zur Ermittlung der letzten beschriebenen Zeile in Excel


Schritt-für-Schritt-Anleitung

Um die letzte beschriebene Zeile in einem bestimmten Bereich zu finden und Text zu kopieren, kannst Du das folgende VBA-Makro verwenden. Diese Anleitung zeigt Dir, wie Du das Makro anpassen kannst, um es auf einen begrenzten Zellbereich, wie z.B. "B25:B44", anzuwenden.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub Kopie_Letzte_Zeile()
    Dim LastRow As Long
    If IsEmpty(Cells(43, "B")) Then
        LastRow = Cells(43, "B").End(xlUp).Row
    Else
        LastRow = 43
    End If
    Cells(LastRow + 2, "B") = Cells(135, "C")
    Cells(LastRow + 2, "D") = Cells(135, "E")
    Cells(LastRow + 2, "F") = Cells(135, "G")
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Um das Makro auszuführen, drücke ALT + F8, wähle Kopie_Letzte_Zeile und klicke auf Ausführen.

Häufige Fehler und Lösungen

  1. Fehler: "Typenübereinstimmung"

    • Lösung: Stelle sicher, dass Du den richtigen Datentyp für LastRow verwendest. Verwende Long anstelle von Integer, um auch größere Zeilenzahlen zu unterstützen.
  2. Fehler: "Zelle ist leer"

    • Lösung: Überprüfe, ob die Zellen im angegebenen Bereich (z.B. B25:B44) tatsächlich Daten enthalten oder ob das Makro auf die richtige Zeile zugreift.
  3. Fehler: "Der Vorgang kann nicht abgeschlossen werden"

    • Lösung: Dies kann auftreten, wenn Du versuchst, in eine Zelle zu schreiben, die geschützt ist. Stelle sicher, dass das Arbeitsblatt nicht geschützt ist.

Alternative Methoden

Wenn Du keine VBA-Lösungen nutzen möchtest, kannst Du auch die Excel-Tastenkombination verwenden:

  • Drücke CTRL + Pfeil nach unten, um zur letzten gefüllten Zelle in einer Spalte zu springen.
  • Wenn Du die letzte beschriebene Zeile ermitteln möchtest, kannst Du auch die Funktion =ANZAHL2(B25:B44) verwenden, um die Anzahl der gefüllten Zellen zu zählen.

Praktische Beispiele

Hier sind einige Szenarien, in denen das Ermitteln der letzten beschriebenen Zeile nützlich ist:

  • Datenimport: Wenn Du regelmäßig Daten importierst und die letzte Zeile ermitteln möchtest, um neue Daten hinzuzufügen.
  • Berichterstattung: Automatisiere Berichte, indem Du die letzte gefüllte Zeile findest und die neuesten Daten in die Berichtszeilen einfügst.
  • Datenverarbeitung: Verwende das Makro, um Daten aus einer Datenbank oder einer anderen Quelle in die nächste verfügbare Zeile zu kopieren.

Tipps für Profis

  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden.
  • Setze Fehlerbehandlungsroutinen ein, um das Makro robuster zu machen und um unerwartete Fehler abzufangen.
  • Experimentiere mit Schleifen, um mehrere Zellen gleichzeitig zu kopieren, anstatt dies für jede Zelle manuell zu tun.

FAQ: Häufige Fragen

1. Wie finde ich die letzte beschriebene Zeile in einer anderen Spalte? Um die letzte beschriebene Zeile in einer anderen Spalte, z.B. "C", zu finden, ändere den Code zu LastRow = Cells(Rows.Count, "C").End(xlUp).Row.

2. Kann ich das Makro anpassen, um mehrere Bereiche zu durchsuchen? Ja, Du kannst mehrere If-Bedingungen hinzufügen, um verschiedene Bereiche nacheinander zu prüfen, oder eine Schleife verwenden, um alle gewünschten Bereiche zu durchlaufen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige