Microsoft Excel

Herbers Excel/VBA-Archiv

while klausel

Betrifft: while klausel von: ChrisNa
Geschrieben am: 18.08.2004 18:56:39

hallo liebes xl-forum,

ich möchte eine schleife solang laufen lassen bis ein kriterium erreicht ist.


zähler = 2
while Jahreseingabe < Year(ThisWorkbook.Worksheets(2).Cells _
(zähler, 2).Value) = Jahreseingabe + 1

ThisWorkbook.Worksheets(2).Cells(zähler, 2).FormulaR1C1 _
= "=SUM(R[-1]C+1)"
...
zähler = zähler + 1
wend

aber irgendwie läuft die schleife nicht.
hat da wer eine idee?
danke
gruss
chrisna

  


Betrifft: AW: while klausel von: ChrisL
Geschrieben am: 18.08.2004 19:07:35

Hi Chrisna

while Jahreseingabe < Year(ThisWorkbook.Worksheets(2).Cells _
(zähler, 2).Value) = Jahreseingabe + 1

hier sind zwei Abfragen drin (< und =). War das so gedacht?

Gruss
Chris


  


Betrifft: AW: while klausel von: ChrisNa
Geschrieben am: 18.08.2004 19:17:26

hi chris,

hm sicherlich hab ich da einen denkfehler. ich möchte das es aussteigt wenn größer wird als wert2.


wert1 <= wert2
Jahreseingabe <= Year(ThisWorkbook.Worksheets(2).Cells _
(zähler, 2).Value) = Jahreseingabe + 1

Jahreseingabe = 2004
ThisWorkbook.Worksheets(2).Cells(zähler, 2)= 2004.01.01

mit den werten hole ich mir nur die beiden jeweiligen kriterien.

gruß chris


  


Betrifft: AW: while klausel von: ChrisL
Geschrieben am: 18.08.2004 19:36:48

Hi Chris

Sub t()
Dim JahresEingabe As Integer
Dim Zähler As Long

With ThisWorkbook.Worksheets(2)

    Zähler = 2
    JahresEingabe = 2004

    While JahresEingabe + 1 > CInt(Year(.Cells(Zähler - 1, 2).Value))
        .Cells(Zähler, 2).FormulaR1C1 = "=R[-1]C+1"
        '...
        Zähler = Zähler + 1
    Wend

End With
End Sub



Du vergleichst mit einer leeren Zelle d.h. die Formel wird erst innerhalb der Schleife eingetragen, darum vergleiche besser mit der Zeile 1 weiter oben (Zähler -1).

Gruss
Chris


  


Betrifft: Zähler -1 :))) dass isses von: ChrisNa
Geschrieben am: 18.08.2004 19:47:41

Hi Chris,

super Danke

gruß Chris