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

Forumthread: Do While Schleife mit 2 Bedingungen

Do While Schleife mit 2 Bedingungen
23.04.2018 09:27:09
Idence
Hallo an alle,
ich möchte gerne eine Do While-Schleife erzeugen, wobei ich jedoch zwei Abbruchkriterien bestimmen möchte. Mit einem "Or" hat dies leider nicht funktioniert, die richtige Syntax habe ich leider nicht finden können.
Das war mein Code:
Do While ActiveCell.Value 0 OR ""
.....
Loop
Kann mir hier jemand weiterhelfen?
Danke im voraus
Gruß
Idence
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Do While Schleife mit 2 Bedingungen
23.04.2018 09:41:02
hary
Moin
Du musst dem 2. Teil auch Activecell zuweisen
Do While ActiveCell.Value  0 OR ActiveCell.Value  ""

gruss hary
AW: Do While Schleife mit 2 Bedingungen
23.04.2018 09:48:17
Idence
Hallo,
Dankeschön, hat funktioniert.
Gruß
Idence
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Do While Schleife mit mehreren Bedingungen in VBA


Schritt-für-Schritt-Anleitung

Um eine Do While-Schleife in VBA zu erstellen, die mehrere Bedingungen berücksichtigt, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel. Drücke ALT + F11.
  2. Erstelle ein neues Modul über Einfügen > Modul.
  3. Schreibe den folgenden Code, um die Schleife zu definieren:
Sub BeispielDoWhile()
    Do While ActiveCell.Value <> 0 And ActiveCell.Value <> ""
        ' Dein Code hier
        ActiveCell.Offset(1, 0).Select ' Zum nächsten Zellwert wechseln
    Loop
End Sub

In diesem Beispiel wird die Schleife fortgesetzt, solange die aktive Zelle nicht 0 oder leer ist.


Häufige Fehler und Lösungen

  1. Fehlerhafte Syntax:

    • Problem: Do While ActiveCell.Value 0 OR ""
    • Lösung: Stelle sicher, dass du die Bedingungen korrekt mit And oder Or verknüpfst und die Syntax richtig ist: ActiveCell.Value <> 0 And ActiveCell.Value <> "".
  2. Aktive Zelle nicht zuweisen:

    • Problem: Wenn du nur eine Bedingung prüfst, wird möglicherweise die aktive Zelle nicht aktualisiert.
    • Lösung: Nutze ActiveCell.Offset(1, 0).Select, um zur nächsten Zelle zu wechseln.

Alternative Methoden

Eine alternative Methode zur Verwendung einer Do While-Schleife ist die Do Until-Schleife. Diese Schleife läuft, bis eine bestimmte Bedingung erfüllt ist:

Sub BeispielDoUntil()
    Do Until ActiveCell.Value = 0 Or ActiveCell.Value = ""
        ' Dein Code hier
        ActiveCell.Offset(1, 0).Select
    Loop
End Sub

Die Verwendung von Do Until kann in manchen Fällen die Lesbarkeit des Codes erhöhen.


Praktische Beispiele

Hier sind einige Beispiele, die zeigen, wie du die Do While-Schleife anwenden kannst:

  1. Zellen summieren, bis eine Bedingung erfüllt ist:
Sub SummeBisBedingung()
    Dim summe As Double
    summe = 0
    Do While ActiveCell.Value <> 0 And ActiveCell.Value <> ""
        summe = summe + ActiveCell.Value
        ActiveCell.Offset(1, 0).Select
    Loop
    MsgBox "Die Summe ist: " & summe
End Sub
  1. Werte in einer Spalte zählen, die nicht leer sind:
Sub ZaehlenNichtLeereZellen()
    Dim zaehler As Integer
    zaehler = 0
    Do While ActiveCell.Value <> ""
        zaehler = zaehler + 1
        ActiveCell.Offset(1, 0).Select
    Loop
    MsgBox "Anzahl der nicht leeren Zellen: " & zaehler
End Sub

Tipps für Profis

  • Nutze Exit Do, um die Schleife vorzeitig zu beenden, wenn eine bestimmte Bedingung erfüllt ist.
  • Achte darauf, dass du die Schleifenbedingung immer aktualisierst, um eine Endlosschleife zu vermeiden.
  • Verwende die For Each...Next-Schleife, wenn du über alle Zellen in einem bestimmten Bereich iterieren möchtest, um den Code zu vereinfachen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bedingungen in einer Do While-Schleife kombinieren?
Du kannst And oder Or verwenden, um mehrere Bedingungen zu kombinieren. Beispiel: Do While ActiveCell.Value <> 0 And ActiveCell.Value <> "".

2. Was ist der Unterschied zwischen Do While und Do Until?
Do While führt die Schleife aus, solange die Bedingung wahr ist, während Do Until die Schleife ausführt, bis die Bedingung wahr ist.

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