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

Forumthread: VBA: Letzte benutzte Zeile aus anderem Blatt..

VBA: Letzte benutzte Zeile aus anderem Blatt..
WalterK
Hallo,
der folgende Codeteil läuft zwar durch, bringt mir aber bei LzBe eine 0 (Null).
Wer kann mir sagen, was ich falsch gemacht habe?
    Dim LzBe As Long
With Sheets("Berechnungstabelle")
Application.ScreenUpdating = False
.Unprotect
MsgBox LzBe
LzBe = Sheets("FeststellungenUebersichtDienstn").Application.Max(37, .Cells(. _
Rows.Count, 9).End(xlUp).Row)
.Range(.Cells(37, 1), .Cells(LzBe + 34, 175)).ClearContents
.Range(.Cells(36, 1), .Cells(36, 175)).Copy .Range(.Cells(37, 1), .Cells(LzBe +  _
34, 175))
.Protect
End With
Besten Dank und Servus, Walter
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: Letzte benutzte Zeile aus anderem Blatt..
29.05.2011 15:33:21
Tino
Hallo,
die letzte von Berechnungstabelle (min. 37)
LzBe = Application.Max(37, .Cells(.Rows.Count, 9).End(xlUp).Row)
MsgBox LzBe
die letzte von FeststellungenUebersichtDienstn (min. 37)
With Sheets("FeststellungenUebersichtDienstn")
LzBe = Application.Max(37, .Cells(.Rows.Count, 9).End(xlUp).Row)
MsgBox LzBe
End With
Gruß Tino
Anzeige
Danke Tino, wieder was gelernt. Servus, Walter
29.05.2011 17:12:49
WalterK
.
;
Anzeige
Anzeige

Infobox / Tutorial

Letzte beschriebene Zeile in Excel mit VBA finden


Schritt-für-Schritt-Anleitung

Um die letzte beschriebene Zeile in einem anderen Blatt mit VBA zu finden, befolge diese Schritte:

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

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.

  3. Kopiere den folgenden Code in das Modul:

    Dim LzBe As Long
    With Sheets("Berechnungstabelle")
        Application.ScreenUpdating = False
        .Unprotect
        LzBe = Application.Max(37, .Cells(.Rows.Count, 9).End(xlUp).Row)
        MsgBox LzBe
        .Range(.Cells(37, 1), .Cells(LzBe + 34, 175)).ClearContents
        .Range(.Cells(36, 1), .Cells(36, 175)).Copy .Range(.Cells(37, 1), .Cells(LzBe + 34, 175))
        .Protect
    End With
  4. Stelle sicher, dass die Blattnamen ("Berechnungstabelle" und "FeststellungenUebersichtDienstn") korrekt sind.

  5. Führe das Makro aus, um die letzte beschriebene Zeile zu ermitteln.


Häufige Fehler und Lösungen

  • Fehler: LzBe zeigt 0 an.

    • Lösung: Überprüfe, ob die Zellen im angegebenen Bereich tatsächlich Daten enthalten. Stelle sicher, dass du die richtige Spalte (in diesem Fall Spalte 9) überprüfst.
  • Fehler: Das Blatt wird nicht gefunden.

    • Lösung: Vergewissere dich, dass die Blattnamen exakt übereinstimmen. Excel ist hier case-sensitive.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch Formeln nutzen:

  1. Verwende die Formel =MAX(WENN(A:A<>"";ZEILE(A:A))), um die letzte beschriebene Zeile in Spalte A zu finden (drücke STRG + UMSCHALT + ENTER, um eine Matrixformel zu erstellen).
  2. Du kannst auch die Funktion COUNTA verwenden, um die Anzahl der nicht-leeren Zellen zu zählen und diese Information dann in Kombination mit anderen Formeln zu verwenden.

Praktische Beispiele

Hier sind einige Beispiele, wie du den Code anpassen kannst:

  • Letzte beschriebene Zeile in einem anderen Blatt finden:

    With Sheets("FeststellungenUebersichtDienstn")
        LzBe = Application.Max(37, .Cells(.Rows.Count, 9).End(xlUp).Row)
        MsgBox LzBe
    End With
  • Daten in eine andere Tabelle kopieren:

    Du kannst den Code so anpassen, dass er die letzten Daten aus der "FeststellungenUebersichtDienstn" in die "Berechnungstabelle" kopiert.


Tipps für Profis

  • Nutze die .UsedRange-Eigenschaft, um den gesamten genutzten Bereich eines Blattes schnell zu erfassen.
  • Integriere Fehlerbehandlungsroutinen in deinen Code, um unvorhergesehene Probleme abzufangen, wie z.B. die Verwendung von On Error Resume Next.

FAQ: Häufige Fragen

1. Wie kann ich die letzte beschriebene Zeile in einer anderen Spalte finden? Um die letzte beschriebene Zeile in einer anderen Spalte zu finden, ändere einfach die Spaltennummer in .Cells(.Rows.Count, [Spaltennummer]).End(xlUp).Row.

2. Kann ich diesen Code in Excel 2016 verwenden? Ja, der Code funktioniert in Excel 2016 und auch in späteren Versionen. Achte darauf, dass du den VBA-Editor korrekt öffnest und deine Blätter richtig benennst.

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