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

Forumthread: Makro: "wenn letzte zeile leer - dann..."

Makro: "wenn letzte zeile leer - dann..."
28.07.2005 13:01:00
maik
Hallo,
ich möchte per makro testen ob die letzte zeile(oder alle zeilen) einer spalte unausgefüllt sind und - wenn dies der fall ist eine andere operation ausführen. mein Versuch bisher:
Public

Sub leer()
Dim letztezeile As Integer
Sheets("abc").Select
letztezeile = ActiveSheet.Cells(65536, 2).End(xlUp).Row
Cells(letztezeile, 2).Select
Selection.Copy
Cells(1, 1).Select
ActiveSheet.Paste
If Cells(lezttezeile, 2).Value = Cells(1, 1).Value Then
Sheets("0815").Select
Else
Call Reihenfolge_graph
End If
End Sub

Leider funktioniert das aber nicht so - hat jemand Vorschläge oder Ideen?
Vielen Dank
Maik
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro: "wenn letzte zeile leer - dann..."
28.07.2005 13:33:37
vienna
Hi,
ist Dir schon aufgefallen das Du einen (Schreib-) Fehler hast?
If Cells(lezttezeile, 2).Value = Cells(1, 1).Value Then "(leTZTezeile)
Grüße
AW: Makro: "wenn letzte zeile leer - dann..."
28.07.2005 14:01:07
maik
danke für den hinweis, leider funktioniert das makro trotzdem noch nicht..
grüße
maik
AW: Makro: "wenn letzte zeile leer - dann..."
28.07.2005 14:27:58
maik
hab die frage versehentlich als gelöst markiert - sorry
Anzeige
AW: Makro: "wenn letzte zeile leer - dann..."
29.07.2005 06:58:43
Volker
Hallo Maik,
wenn du cells(letztezeile,2) nach cells(1,1) kopierst und die beiden Zellen dann vergleichst, sind sie natürlich immer gleich und Reihenfolge_graph wird niemals ausgeführt.
Ohne diese zweckfreie Aktion sähe das dann so aus:

Sub leer()
Dim letztezeile As Integer
Sheets("abc").Select
letztezeile = ActiveSheet.Cells(65536, 2).End(xlUp).Row
if letztezeile=1 and cells(1,2)="" then
Reihenfolge_graph
end if
End Sub

Das geht auch, ohne Blatt("abc") zu aktivieren:

Sub leer()
Dim letztezeile As Integer
letztezeile = Sheets("abc").Cells(65536, 2).End(xlUp).Row
if letztezeile=1 and Sheets("abc").cells(1,2)="" then
Reihenfolge_graph
end if
End Sub

Gruß
Volker
Anzeige
AW: Makro: "wenn letzte zeile leer - dann..."
29.07.2005 15:37:32
maik
Hallo Volker,
vielen Dank für Deine Antwort, hat mir sehr geholfen!
Gruß
Maik
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro zur Überprüfung der letzten Zeile in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und drücke ALT + F11 um den VBA-Editor zu starten.

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

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub leer()
       Dim letztezeile As Integer
       letztezeile = Sheets("abc").Cells(65536, 2).End(xlUp).Row
       If letztezeile = 1 And Sheets("abc").Cells(1, 2) = "" Then
           Reihenfolge_graph
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Drücke ALT + F8, wähle leer und klicke auf Ausführen.

Mit diesem Makro wird überprüft, ob die letzte Zeile in der angegebenen Spalte leer oder unausgefüllt ist. Wenn dies der Fall ist, wird die Funktion Reihenfolge_graph aufgerufen.


Häufige Fehler und Lösungen

  • Schreibfehler im Code: Achte darauf, dass du alle Variablen und Methoden korrekt schreibst, wie in diesem Beispiel: letztezeile und nicht lezttezeile.

  • Vergleichsfehler: Wenn du die Zellen vergleichst, stelle sicher, dass du nicht erst eine Zelle kopierst, bevor du sie vergleichst. Andernfalls wird der Vergleich immer True sein.

  • Blatt nicht aktiv: Du kannst das Makro so schreiben, dass es ohne die Aktivierung des Arbeitsblattes funktioniert, was effizienter ist.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, um die letzte Zeile in Excel zu überprüfen:

  1. Verwendung von UsedRange:

    letztezeile = Sheets("abc").UsedRange.Rows.Count
  2. Direkte Abfrage der Zelle: Du kannst auch die spezifische Zelle direkt abfragen, ohne vorher die letzte Zeile zu ermitteln.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du das Makro in einer realen Situation verwenden kannst:

Angenommen, du hast eine Excel-Datei, in der die zweite Spalte (B) Daten enthält. Du möchtest sicherstellen, dass die letzte Zeile in dieser Spalte nicht leer ist, bevor du weitere Berechnungen durchführst. Nutze das oben angegebene Makro, um dies zu überprüfen und gegebenenfalls die Funktion Reihenfolge_graph auszuführen.


Tipps für Profis

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass dein Makro auch bei unerwarteten Eingaben funktioniert.

  • Kommentiere deinen Code: Füge Kommentare hinzu, um den Code besser verständlich zu machen, vor allem, wenn du das Makro später erneut aufrufst.

  • Optimiere die Performance: Vermeide das Aktivieren von Blättern, wenn es nicht notwendig ist, um die Ausführungsgeschwindigkeit zu erhöhen.


FAQ: Häufige Fragen

1. Was mache ich, wenn das Makro nicht funktioniert? Überprüfe den Code auf Schreibfehler oder sicher, dass die richtige Arbeitsmappe aktiv ist.

2. Kann ich das Makro auf andere Spalten anwenden? Ja, passe einfach die Spaltennummer in Cells(letztezeile, 2) an, um andere Spalten zu überprüfen.

3. Wie finde ich die letzte Zeile einer Tabelle? Du kannst die Methode End(xlUp) verwenden, um die letzte nicht leere Zeile in einer bestimmten Spalte zu finden.

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