Thema Datum  Von Nutzer Rating
Antwort
22.07.2008 18:35:42 Florian
NotSolved
Blau Aw:Schleife richtig unterbrechen
23.07.2008 17:19:23 jh
NotSolved
23.07.2008 18:07:56 Florian
NotSolved
23.07.2008 18:37:12 jh
NotSolved
23.07.2008 20:40:48 Florian
NotSolved
24.07.2008 08:04:31 jh
NotSolved
24.07.2008 12:39:52 Florian
NotSolved
24.07.2008 14:14:47 jh
NotSolved
24.07.2008 19:41:05 Florian
NotSolved

Ansicht des Beitrags:
Von:
jh
Datum:
23.07.2008 17:19:23
Views:
981
Rating: Antwort:
  Ja
Thema:
Aw:Schleife richtig unterbrechen
Hallo,

deine Schleife wird in jedem Fall nur einmal durchlaufen, weil
in jeder der Alternativen If und ElseIf ein Exit For steht,
wobei das ElseIf unnötig ist - Else genügt, weil im If-Zweig
geprüft wird, ob die Zelle leer ist, und wenn das nicht der
Fall ist, dann muss ja logischerweise etwas drinstehen.
ElseIf wird normalerweise verwendet, wenn es mehr als zwei
Alternativen gibt, aber Select Case nicht möglich oder nicht
zweckmäßig ist.

Der Schleifenabbruch nach nur einem Durchlauf ist doch aber
bei dir sicher nicht wirklich gewollt, sondern wenn in B17
nichts steht, soll B17:B22 von 1 bis 6 durchnumeriert werden,
oder? Nicht ganz klar ist, was anderenfalls passieren soll.
Du schreibst, "in der nächsten freien Zeile" - ist das dann
wirklich Zeile 18, oder kann es auch eine andere sein? Und
was soll dann da rein - in deinem Code wäre es 2, so dass
dann in B18:B23 die Werte 2 bis 7 stehen. Wenn das so sein
soll, ist Exit For völlig unnötig, vielleicht ist das
irgendwie ein Denkfehler von dir.

Dim i As Long ' Zeilen sind immer Long!
For i = 0 To 5
With Worksheets(1)
' Sheets kann auch ein Diagramm sein
If .Cells(17 + i, 2) = "" Then
Cells(17 + i, 2) = i + 1
Else
Cells(18 + i, 2) = i + 2
End If
End With
Next i

Fall du etwas anderes gemeint hast, versuche es noch mal
verbal rüberzubringen. Eine alte Erfahrung besagt, was man
nicht in Worten eindeutig formulieren kann, kann man auch
nicht programmieren. Übrigens, wenn das Ganze nicht Teil
eines größeren Vorhabens ist, scheint es mir ein bisschen
Overkill, dafür ein Makro zu bemühen.

Gruß

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.07.2008 18:35:42 Florian
NotSolved
Blau Aw:Schleife richtig unterbrechen
23.07.2008 17:19:23 jh
NotSolved
23.07.2008 18:07:56 Florian
NotSolved
23.07.2008 18:37:12 jh
NotSolved
23.07.2008 20:40:48 Florian
NotSolved
24.07.2008 08:04:31 jh
NotSolved
24.07.2008 12:39:52 Florian
NotSolved
24.07.2008 14:14:47 jh
NotSolved
24.07.2008 19:41:05 Florian
NotSolved