Variablen in einer Schleife festlegen

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    Variablen in einer Schleife festlegen

    Hallo,


    ich habe die folgende Schleife geschrieben:

    monat = InputBox("Für welchen Monat wollen Sie eine Auswertung erstellen?", "Auswertung", "Januar 10")
    Range("d8").Select

    Start:
    If ActiveCell = "" Then
    GoTo Ende:
    ElseIf ActiveCell = "40" And ActiveCell.Offset(0, 5).Text = monat Then
    ActiveCell.Offset(0, -1).Select
    a = ActiveCell.Value
    ActiveCell.Offset(1, 1).Select
    GoTo Start:
    End If
    ActiveCell.Offset(1, 0).Select
    GoTo Start:

    Sobald die Elseif Bedingung erffült ist wird die variable a mit einen wert belegt und die schleife neu gestartet. wie kann
    ich erreichen, dass beim nächsten durchlauf der schleife der neue wert nicht wieder in a abgelegt wird sondern in a2 oder b?
    geht das nur mit einer neuen if anweisung?
    habt ihr eine idee?

    Vielen Dank schonmal...
    In dem man ein Array anlegt, hier für eine Zähler mit führt und bei jedem Durchlauf den Zähler um eins erhöht.

    Aber jetzt mal zu Deinem Denkansatz.
    Das Nutzen von Goto-Sprungverweisen ist eigentelich nicht mehr Stand der Programmierung. Dies ist ein Relikt aus uralten Zeiten. Sinnvollerweise läßt sich Dein Problem so lösen:

    For I = 0 to 1000
    wenn Zelle = Leer dann Exit for

    A(I)=Wert der zelle
    Zeiger verschieben

    Next
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    ok vielen dank...stimmt ein array ist die perfekte lösung dafür und dann werde ich anstelle der Sprungverweise auf eine Schleife umstellen.

    eine Frage dann noch:
    Kann man alle Werte des Arrays später in eine Zelle als Summe ausgeben?

    Vielen Dank...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „tobias159“ ()

    Wenn man die einzelnen Werte aufaddiert, ja. Wenn Du nur die Summe benötigst, kann Du ja statt die Werte in ein Array zu lesen, einfach den Wert der Variable um den neuen Wert erhöhen.
    WertSumme = WertSumme + NeuerWert
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).