Microsoft Excel

Herbers Excel/VBA-Archiv

Go To od. ähnliches

Betrifft: Go To od. ähnliches
von: Marc Voelker
Geschrieben am: 17.04.2003 - 09:39:07

Morgen

Noch ne Frage:

Ich habe eine for next schleife, in der eine if abfrage gemacht wird.
das ist die abfrage.

for a = 1 to 10
If Cells(a, 3) <> "" Then
KD = Month(Cells(a, 3))
Else
KD = Month(2003 - 12 - 1)
End If
next

momentan löse ich mein problem so...

aber ich möchte, das er das nächste a nimmt, anstatt, den von mir eingetragenen wert...
for a = 1 to 10
If Cells(a, 3) <> "" Then
KD = Month(Cells(a, 3))
Else
next a
End If
next

geht sowas, bzw. gibts in vab noch den go to befehl und wenn ja, wie genau geht der nochma?

  

Re: Go To od. ähnliches
von: Knut
Geschrieben am: 17.04.2003 - 09:42:10

for a = 1 to 10
If Cells(a, 3) <> "" Then
KD = Month(Cells(a, 3))
Else
KD = a +1
End If
next


  

Re: Go To od. ähnliches
von: Marc Voelker
Geschrieben am: 17.04.2003 - 10:11:53

Thx Knut

  

Re: Go To od. ähnliches
von: Marc Voelker
Geschrieben am: 17.04.2003 - 10:18:52

Sorry

ich habe da ja noch nen fehler gefunden!!!
die abfrage geht ja danach noch weiter
sprich wenn ich a=a+1 mache, laufe ich ja weite unten auf nen fehler.

For a = 3 To y Step 1

If Cells(a, 3) <> "" Then
KD = Month(Cells(a, 3))
Else
a = a + 1
End If

If KD >= AD Then
Cells(a, x) = Cells(a, 5)
Else
Cells(a, x) = 0
End If

Next

Gruß+Dank
Marc

  

Re: Go To od. ähnliches
von: Yal
Geschrieben am: 17.04.2003 - 11:18:48

wie ich das verstehe, soll die Schleife abgebrochen, wenn eine werte vorhanden ist (ansonsten weiter mit nächste Werte).
Es wird mit Exit For erreicht:

for a = 1 to 10
if cells(a,3) <>"" then
KD = ...
Exit For
end if
next a

Yal


  

Re: Go To od. ähnliches
von: Marc Voelker
Geschrieben am: 17.04.2003 - 11:41:08

Exit For beendet die schleife oder?

er soll aber nicht die schleife beenden, sondern zum next springen, um mit a weiter zu machen...

  

Re: Go To od. ähnliches
von: Marc Voelker
Geschrieben am: 17.04.2003 - 11:43:18

eigentlich umgehe ich doch den ganzen ärger, wenn ich die 2. if abfrage in die 1. einbaue oder?

also so:
For a = 3 To y Step 1

If Cells(a, 3) <> "" Then
KD = Month(Cells(a, 3))
If KD >= AD Then
Cells(a, x) = Cells(a, 5)
Else
Cells(a, x) = 0
End If
End If
Next

Gruß
Marc