warum steigt dieses <zensiert> program bei folgendem Codeausschnitt:
----------------------
With ProjektBasisDaten
'Auftragsgrund-Bestandskunde auswerten
If .lstGrundBestandsKunde.Selected(7) Then
Range("Antragsgrund_Bestandskunde").Value =
lstGrundBestandsKunde.List(7)
Else
For i = 0 To .lstGrundBestandsKunde.ListCount - 1
If .lstGrundBestandsKunde.Selected(i) Then
strReasons = strReasons &
lstGrundBestandsKunde.List(i) & vbCrLf
Next i
Range("Antragsgrund_Bestandskunde").Value = strReasons
End If
End With
----------------------
mit der Fehlermeldung
"Next ohne For"
aus?
Die For-Schleife ist doch korrekt abgeschlossen?
ich bin in VBA definitiv kein Anfänger mehr, aber Excel macht mich
wieder dazu :(
Volker,
dem immer mehr vor VBA in Excel graut... und lieber bei Access bleiben
würde...
--
Wenn es vom Himmel Zitronen regnet -- lerne, Limonade zu machen.
Moin, Moin!
Am 01.07.2010 15:37, schrieb Volker Neurath:
> warum steigt dieses <zensiert> program bei folgendem Codeausschnitt:
>
> ----------------------
> With ProjektBasisDaten
> 'Auftragsgrund-Bestandskunde auswerten
> If .lstGrundBestandsKunde.Selected(7) Then
> Range("Antragsgrund_Bestandskunde").Value =
> lstGrundBestandsKunde.List(7)
> Else
> For i = 0 To .lstGrundBestandsKunde.ListCount - 1
> If .lstGrundBestandsKunde.Selected(i) Then
> strReasons = strReasons &
> lstGrundBestandsKunde.List(i) & vbCrLf
Wie wär's hier mit : End If
> Next i
>
> Range("Antragsgrund_Bestandskunde").Value = strReasons
>
> End If
>
> End With
> ----------------------
Ciao
Frank
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: GnuPT-Portable 1.7.0.0
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iD8DBQFMLJsEwXPofgbwJiURAl0AAKDBmHgt/JiALt4Hg/Mfj8HVA29JvQCgqQ6M
MkwRIxz1IMGBUj1tKSGszac=
=ZPH2
-----END PGP SIGNATURE-----
> Wie wär's hier mit : End If
Danke fürs Scheuklappen-liften. ;)
Volker
> warum steigt dieses <zensiert> program bei folgendem Codeausschnitt:
>
> ----------------------
> With ProjektBasisDaten
> 'Auftragsgrund-Bestandskunde auswerten
> If .lstGrundBestandsKunde.Selected(7) Then
> Range("Antragsgrund_Bestandskunde").Value = lstGrundBestandsKunde.List(7)
> Else
> For i = 0 To .lstGrundBestandsKunde.ListCount - 1
> If .lstGrundBestandsKunde.Selected(i) Then
So würd's auch gehen:
If .lstGrundBestandsKunde.Selected(i) Then _
> strReasons = strReasons & lstGrundBestandsKunde.List(i) & vbCrLf
> Next i
>
> Range("Antragsgrund_Bestandskunde").Value = strReasons
>
> End If
>
> End With
> ----------------------
Andreas.
> So würd's auch gehen:
> If .lstGrundBestandsKunde.Selected(i) Then _
>> strReasons = strReasons & lstGrundBestandsKunde.List(i) & vbCrLf
>> Next i
>>
>> Range("Antragsgrund_Bestandskunde").Value = strReasons
>>
>> End If
>>
>> End With
>> ----------------------
Versteh ich jetzt nicht... (zu heiss hier ;) )
Ich muss Splitten, weil List(7)="neukunde".
Ist dieser Eintrag gewählt, sind alle anderen Listeneinträge
ausgeschlossen
Deswegen dieses Konstrukt.
Volker
> Versteh ich jetzt nicht... (zu heiss hier ;) )
Ein _ verbindet Zeilen miteinander, damit kann man zu lange Zeilen
umbrechen.
Dementsprechend verbindet sich
If .lstGrundBestandsKunde.Selected(i) Then _
strReasons = usw.
zu
If .lstGrundBestandsKunde.Selected(i) Then strReasons = usw.
Ein Beispiel:
Sub Test()
Dim I As Integer
Cells.ClearContents
For I = 1 To 10
Cells(I, 1) = I
Next
End Sub
Kann man so umbrechen:
Sub _
Test _
( _
)
Dim _
I _
As _
Integer
Cells _
. _
ClearContents
For _
I _
= _
1 _
To _
10
Cells _
( _
I _
, _
1 _
) _
= _
I
Next
End _
Sub
Lad Dir das mal in den VBA-Editor und debugge die Sub mal mit F8.
Das Zeilenumbrechen geht aber nicht endlos, ich meine irgendwo bei
25mal umbrechen ist Schluß.
Andreas.
>> Wie wär's hier mit : End If
>
> Danke fürs Scheuklappen-liften. ;)
Kein Problem, der Fehler wir auch von mir gerne genommen :-)
Frank
> Am 01.07.2010 15:59, schrieb Volker Neurath:
>> Versteh ich jetzt nicht... (zu heiss hier ;) )
> Ein _ verbindet Zeilen miteinander, damit kann man zu lange Zeilen
> umbrechen.
Das weiss ich. Aber was genau hat das jetzt mit meinem Code zu tun?
Volker, rätselnd
>> Ein _ verbindet Zeilen miteinander, damit kann man zu lange Zeilen
>> umbrechen.
> Das weiss ich. Aber was genau hat das jetzt mit meinem Code zu tun?
Ist wirklich heiß bei Dir, halt Dir mal 'ne kühle Flasche Bier an'n
Kopp. ;-)))
Also der Code:
If Irgendwas Then
MachWas
End If
ist gleich dem Code:
If Irgendwas Then _
MachWas
Ergo: Man muss nicht unbedingt ein "End If" haben, wenn die
"MachWas"-Anweisung nur aus einer Zeile besteht, geht auch ein _
hinter dem Then.
Andreas.
Am 01.07.2010 17:10, schrieb Andreas Killer:
[...]
> Also der Code:
>
> If Irgendwas Then
> MachWas
> End If
>
> ist gleich dem Code:
>
> If Irgendwas Then _
> MachWas
>
> Ergo: Man muss nicht unbedingt ein "End If" haben, wenn die
> "MachWas"-Anweisung nur aus einer Zeile besteht, geht auch ein _ hinter
> dem Then.
Wobei das zweite ja eigentlich nur ein optisch aufgepimptes
if Irgendwas then MachWas
ist, denn nur wenn if in einer Zeile steht, dann brauch man kein end if.
Vielleicht _
hilft das jetzt bei _
der Hitze :-)
Frank
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: GnuPT-Portable 1.7.0.0
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iD8DBQFMLNhnwXPofgbwJiURAuH+AJwIfxvDxIBGKw+UMdysuTsY4B8CEwCgwHzh
IXXRMuhh2I23i6z2ih9GxTo=
=usW9
-----END PGP SIGNATURE-----
> Am 01.07.2010 16:49, schrieb Volker Neurath:
>
>>> Ein _ verbindet Zeilen miteinander, damit kann man zu lange Zeilen
>>> umbrechen.
>> Das weiss ich. Aber was genau hat das jetzt mit meinem Code zu tun?
> Ist wirklich heiß bei Dir,
Scheint so. ;)
> halt Dir mal 'ne kühle Flasche Bier an'n
> Kopp. ;-)))
Im Kühlschrank liegt nur frisches ;)
> Also der Code:
>
> If Irgendwas Then
> MachWas
> End If
>
> ist gleich dem Code:
>
> If Irgendwas Then _
> MachWas
>
> Ergo: Man muss nicht unbedingt ein "End If" haben, wenn die
> "MachWas"-Anweisung nur aus einer Zeile besteht, geht auch ein _
> hinter dem Then.
Autsch, ja.
Sorry, manchmal fällt der Groschen nur Centweise ;)
Volker
--
Im übrigen bin ich der Meinung, dass TCPA/TCG verhindert werden muss
Wenn es vom Himmel Zitronen regnet, dann lerne, wie man Limonade macht