Erstellen einer While Schleife

Bild

Betrifft: Erstellen einer While Schleife
von: Lukas
Geschrieben am: 17.06.2015 15:13:07

Hallo zusammen,
ich habe eine Approximation in Excel 2010 für die Berechnung eines Winkel gemacht. Diese habe ich bisher manuell ausgeführt. Um die die Approximation zu verbessern, würde ich diese gerne mit einer While Schleife ausführen. Allerdings fehlt mir hierbei die Erfahrung mit VBA. Die While-Schleife soll so lange laufen, bis zwei gleiche Werte für den Winkel aufeinander folgen.
Als Bedinung für die While-Schleife habe ich mir überlegt, dass diese so lange wie die Bedingung BX1 <> (ungleich) BX2, gilt, läuft.
=SIN(B13)+(2*$E$5/($F$5*$F$5))
Mit dieser Formel wurde die Approximation durchgeführt.
Vielen Dank, für jegliche Hilfestellungen!

Bild

Betrifft: AW: Erstellen einer While Schleife
von: Lukas
Geschrieben am: 17.06.2015 15:18:34
Userbild
Die Approximation wurde auf diese Weise 200 mal durchgeführt. Durch die While Schleife soll sie n-mal durchgeführt werden, sodass zwei darauffolgende Werte identisch sind

Bild

Betrifft: AW: Erstellen einer While Schleife
von: Daniel
Geschrieben am: 17.06.2015 15:21:28
Hi
im Prinzip so:

Do
   BX1=BX2
   BX2 = Sin(...)
If BX2 = BX1 then Exit Do
   ... 
   hier ggf weitere Code
Loop
allerdings ist "=" in verbindung mit Gleitkommazahlen eine kritische Abbruch-Bediungung, da aufgrund der beschränkten Rechengenauigkeit es zu kleinen Abweichungen kommen kann, so das gleiche Werte ggf nicht erkannt werden und dann stecket man ggf in einer Endlosschleife.
besser sind also immmer Abbruchbedingungen mit grösser oder kleiner.
Wenns unbedingt gleich sein soll, müsste man auf eine sinnvolle Stellenzahl runden:

if Round(BX1, 5) = Round(B2, 5) Then Exit do
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Erstellen einer While Schleife"