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

For schleife(Downto)

Forumthread: For schleife(Downto)

For schleife(Downto)
19.07.2005 10:34:26
Michael
Hallo
gibt es in VBA die möglichkeit eine for schleife rückwärts laufen zu lassen also sozusagen downto.. also von einem höherem wert auf einen kleineren z.B.:

Sub demo()
Dim l As long
For l = ActiveSheet.UsedRange.Rows.Count To 10
End If
'ein andererversuch war
For l= -ActiveSheet.UsedRange.Rows.Count To -10
'wo dann l gebruacht wurde hab ich einfach gesagt l * (-1).. ging aber
'auch nicht hatte ich wohl denk fehler da ja die for-schlfie sich ned
'auf 0 zu bewegt sondern zum niedrigeren d.h. im minus
' bereich von null weg
end if
End Sub
()
Das funktioniert alles nicht so richtig.
Danke im Voraus.
Mfg Michael
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: For schleife(Downto)
19.07.2005 10:37:13
Matthias
Hallo Michael,

Dim i
For i=10 To 1 Step -1
Debug.Print i
Next i

Gruß Matthias
AW: For schleife(Downto)
19.07.2005 10:41:34
Michael
Danke...
An die einfachsten Lösungen denke ich nie :(
mfg Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

For Schleife in VBA: Rückwärts Zählen mit Downto


Schritt-für-Schritt-Anleitung

Um eine VBA For Schleife rückwärts laufen zu lassen, kannst du die For ... To ... Step-Syntax verwenden. Hier ist ein einfaches Beispiel:

Sub BeispielForSchleife()
    Dim i As Integer
    For i = 10 To 1 Step -1
        Debug.Print i
    Next i
End Sub

In diesem Beispiel wird von 10 bis 1 gezählt, und du kannst die Variable i in deinem Code verwenden, um rückwärts zu zählen. Achte darauf, dass du den Step -1 angibst, um die Schleife rückwärts laufen zu lassen.


Häufige Fehler und Lösungen

  1. Fehler: Die Schleife zählt nicht korrekt rückwärts.

    • Lösung: Stelle sicher, dass du Step -1 verwendest. Wenn du einfach nur For i = 10 To 1 schreibst, wird die Schleife nicht ausgeführt, da der Startwert größer ist als der Endwert.
  2. Fehler: Verwendung von negativen Werten.

    • Lösung: Wenn du versuchst, von einem negativen Wert zu zählen, achte darauf, dass die Logik der Schleife weiterhin Sinn macht. Eine korrekte Implementierung könnte so aussehen:
      For l = -10 To -1 Step 1
      Debug.Print l
      Next l

Alternative Methoden

Neben der standardmäßigen For ... To ... Step-Schleife kannst du auch andere Schleifen verwenden, um rückwärts zu zählen:

  • Do While-Schleife:

    Sub DoWhileBeispiel()
    Dim i As Integer
    i = 10
    Do While i >= 1
        Debug.Print i
        i = i - 1
    Loop
    End Sub
  • While-Schleife:

    Sub WhileBeispiel()
    Dim i As Integer
    i = 10
    While i >= 1
        Debug.Print i
        i = i - 1
    Wend
    End Sub

Diese Methoden bieten Flexibilität, wenn du deine Schleifenlogik anpassen musst.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele für die VBA For Schleife rückwärts:

  1. Excel runterzählen: Wenn du eine Liste von Zellen rückwärts durchlaufen und bearbeiten möchtest, kannst du dies so tun:

    Sub ZellenRunterzaehlen()
    Dim i As Integer
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
        Cells(i, 1).Value = Cells(i, 1).Value * 2 ' Beispieloperation
    Next i
    End Sub
  2. Zähler rückwärts laufen lassen: Du kannst auch einen Zähler für eine Animation oder für das Timing in deinem Excel-Projekt verwenden.


Tipps für Profis

  • Nutze Debug.Print, um den Fortschritt deiner Schleife zu verfolgen, besonders bei komplexen Berechnungen.
  • Halte die Schleifenbedingungen einfach und klar, um die Lesbarkeit und Wartbarkeit deines Codes zu verbessern.
  • Experimentiere mit For ... Next und Do While-Schleifen, um herauszufinden, welche für deinen spezifischen Anwendungsfall am besten geeignet ist.

FAQ: Häufige Fragen

1. Wie kann ich eine For Schleife in Excel VBA rückwärts laufen lassen?
Du kannst die Schleife mit For i = Startwert To Endwert Step -1 definieren, um rückwärts zu zählen.

2. Was ist der Unterschied zwischen For und Do While Schleifen?
Eine For Schleife ist ideal, wenn du die Anzahl der Iterationen kennst, während eine Do While Schleife flexibler ist und auf einer Bedingung basiert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige