myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Probleme mit VBA-Programm (https://mygully.com/showthread.php?t=2129455)

gymnozist 30.09.10 02:12

Probleme mit VBA-Programm
 
Hi,
ich bin VBA-Anfänger und habe ein kleines Problem. Kann mir irgendjemand sagen wo mein Fehler ist? Das Programm liefert für je zwei Zeiteinheiten denselben Wert.

Private Sub CommandButton1_Click()
Dim z, p, t, q, S, D
p = UserForm1.TextBox1
q = UserForm1.TextBox2
z = UserForm1.TextBox3 (z gibt den Zeithorizont an)

For t = 1 To z
D = 200 - p
S = p

p = p + q * (D - S)

t = t + 1

Next t

MsgBox ("Preis: " & p)

End Sub

Danke schon mal

Xalir 30.09.10 02:31

So beim groben Durchschauen ist mir folgendes aufgefallen
  1. Bei Dim ohne Typzuweisung werden aus den Variablen standardmäßig Objects gebildet.
  2. Du übergibst dann einer Object-Variable ein echtes Objekt anstatt den Inhalt (TextBox anstatt TextBox.Text)
  3. Du erhöhst innerhalb Deiner Schleife t um 1, was bereits der interne Schleifenzähler für Dich erledigt. So bekommst Du nie die Werte für t=2,t=4 etc. Wenn das Absicht ist, geht auch For ... To ... Step 2 ... Next

gymnozist 30.09.10 12:07

Besten Dank.

Ich wusste nicht, dass bei next t das t automatisch um 1 erhöht wird.

Jetzt tut es das, was es soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.