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

Forumthread: Macro beenden wenn Zelle leer

Macro beenden wenn Zelle leer
13.06.2005 11:54:30
Karsten
Hallo Excel Freunde!
Ich möchte gern ein Maccro beenden wenn eine bestimmte Celle keinen Wert hat. Ich habe dies mit einer IF Schleife versucht, kenne aber nicht den Befehl das Macro zu beenden (End Sub?). Kann jemand helfen?
'Schleife0 Bedingung Macro'
Sheets(Blatt1).Select
Range("C2").Select
If ActiveCell.Offset(0, 0) = "" Then
End Sub?
Else
...
End If
Karsten
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Macro beenden wenn Zelle leer
13.06.2005 11:59:36
Hajo_Zi
Hallo Karsten,
schreibe End damit wird das Makro abgebrochen.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem Windows 2000 SP4 und Excel Version 2000 SP3.


Anzeige
AW: Macro beenden wenn Zelle leer
13.06.2005 12:03:35
Karsten
Danke Hajo!
ist ja einfach, hätte man selbst drauf kommen können. :)
AW: Macro beenden wenn Zelle leer
13.06.2005 12:03:12
Jan
If ActiveCell.Offset(0, 0) = "" Then
exit sub
Else
...
End If
mfg Jan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Makro beenden, wenn Zelle leer ist


Schritt-für-Schritt-Anleitung

Um ein Makro in Excel VBA zu beenden, wenn eine bestimmte Zelle leer ist, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel, indem du ALT + F11 drückst.
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" -> "Modul" wählst.
  3. Schreibe den folgenden Code in das Modul:

    Sub SchleifeBisZelleLeer()
       Sheets("Blatt1").Select
       Range("C2").Select
       If ActiveCell.Offset(0, 0) = "" Then
           Exit Sub
       Else
           ' Deine weiteren Anweisungen hier
       End If
    End Sub

Dieser Code überprüft, ob die Zelle C2 leer ist. Wenn ja, wird das Makro mit Exit Sub beendet.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht beendet, wenn die Zelle leer ist.

    • Lösung: Stelle sicher, dass du Exit Sub anstelle von End Sub verwendest, um das Makro korrekt zu beenden.
  • Fehler: Das Makro funktioniert nicht wie erwartet.

    • Lösung: Vergewissere dich, dass die Zelle, die du überprüfst, tatsächlich die richtige ist und dass du die Schleifenstruktur korrekt eingerichtet hast.

Alternative Methoden

Eine alternative Methode, um ein Makro zu beenden, wenn eine Zelle leer ist, ist die Verwendung einer Do While-Schleife. Hier ist ein Beispiel:

Sub SchleifeBisLeereZelle()
    Dim cell As Range
    Set cell = Sheets("Blatt1").Range("C2")

    Do While Not IsEmpty(cell)
        ' Deine Logik hier
        ' Verwende cell.Offset(1, 0) für die nächste Zelle
        Set cell = cell.Offset(1, 0)
    Loop
End Sub

Diese Methode ermöglicht es dir, durch eine Liste von Zellen zu iterieren, bis eine leere Zelle gefunden wird.


Praktische Beispiele

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

Sub BeispielMakro()
    Dim i As Integer
    i = 2
    Do While Not IsEmpty(Sheets("Blatt1").Cells(i, 3))
        ' Hier kannst du weitere Berechnungen oder Aktionen durchführen
        i = i + 1
    Loop
End Sub

In diesem Beispiel wird das Makro durch die Zellen in Spalte C iterieren, bis es auf eine leere Zelle trifft.


Tipps für Profis

  • Verwende immer Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Nutze die Möglichkeit, Fehlerbehandlung in deinem VBA-Code zu implementieren, um unerwartete Probleme zu vermeiden.
  • Halte deine Schleifen so kurz wie möglich, um die Leistung deines Makros zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehrere Zellen zu überprüfen?
Du kannst eine Schleife verwenden, um mehrere Zellen zu überprüfen, indem du den Offset oder die Cell-Eigenschaft in einer Schleife änderst.

2. Was ist der Unterschied zwischen Exit Sub und End Sub?
Exit Sub beendet das aktuelle Sub und kehrt zur aufrufenden Stelle zurück, während End Sub einfach das Sub ohne Rückkehr beendet und möglicherweise unerwartete Ergebnisse verursachen kann.

3. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der bereitgestellte VBA-Code sollte in den meisten gängigen Excel-Versionen funktionieren, einschließlich Excel 2000 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige