Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
30.09.10, 02:12
|
#1
|
Anfänger
Registriert seit: Jan 2010
Beiträge: 6
Bedankt: 0
|
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
|
|
|
30.09.10, 02:31
|
#2
|
Erfahrener Newbie
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
|
So beim groben Durchschauen ist mir folgendes aufgefallen
- Bei Dim ohne Typzuweisung werden aus den Variablen standardmäßig Objects gebildet.
- Du übergibst dann einer Object-Variable ein echtes Objekt anstatt den Inhalt (TextBox anstatt TextBox.Text)
- 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
|
|
|
30.09.10, 12:07
|
#3
|
Anfänger
Registriert seit: Jan 2010
Beiträge: 6
Bedankt: 0
|
Besten Dank.
Ich wusste nicht, dass bei next t das t automatisch um 1 erhöht wird.
Jetzt tut es das, was es soll.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 Uhr.
().
|