Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1064to1068
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

rechnungsprogramm

rechnungsprogramm
26.03.2009 13:47:45
Jan
Hallo zusammen
ich habe folgendes Problem:
Ich möchte ein Rechnungsprogramm machen mit Division. Jetzt habe ich aber das Problem, dass Excel in der Userform einfach zufallszahlen bildet und man dann diese durch einander teilen sollte.
Da es x-beliebige Zahlen sein können, gibt es beinahe imme lösungen mit kommastellen, und das ist ein bisschen schwierig zum im Kopf ausrechnen:)
JEtzt möchte ich, das Wert2 ein Vielfaches von Wert 1 sein muss, so dass ich nur ganze Zahlen als Lösung kriege. Hoffe, dass mir jemand helfen kann.:)
Grüsse Jan Elster
Hier der Code:

Private Sub CommandButton1_Click()
Unload Me
End Sub



Private Sub CommandButton2_Click()
If TextBox1.Value = lblErg.Caption Then
lblresultat.Caption = "richtig"
lblrichtig = CLng(lblrichtig) + 1
TextBox1.Value = ""
Label3_Click
Label4_Click
Else
lblresultat.Caption = "falsch"
lblfalsch = CLng(lblfalsch) + 1
End If
End Sub



Private Sub Label3_Click()
Dim Wert1
Dim wert2
TextBox1.Value = ""
Wert1 = Int((1000 * Rnd) + 1)
wert2 = CLng(Label4.Caption)
Randomize
Label3.Caption = Wert1
lblErg = wert2 / Wert1
End Sub



Private Sub Label4_Click()
Dim Wert1
Dim wert2
Dim x As Integer
TextBox1.Value = ""
Wert1 = CLng(Label3.Caption)
wert2 = Int((1000 * Rnd) + 1)
Randomize
Label4.Caption = wert2
lblErg = wert2 / Wert1
End Sub



Private Sub UserForm_Activate()
Label3_Click
Label4_Click
End Sub



Private Sub CommandButton12_Click()
Unload Me
End Sub


und hier die Datei:https://www.herber.de/bbs/user/60695.xls

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: rechnungsprogramm
26.03.2009 13:54:10
D.Saster
Hallo, dann berechne einfach Wert1 neu.
Wert1 = INT(Wert1/Wert2)*Wert2
Gruß
Dierk
AW: rechnungsprogramm
26.03.2009 14:01:46
Jan
wie ? verstehe nicht ganz was du mir mit dem sagen willst..
Gruss Jan
AW: rechnungsprogramm
26.03.2009 14:09:22
Oberschlumpf
Hi Jan
Änder mal den entsprechenden Code wie folgt:

Private Sub Label3_Click()
Dim Wert1
Dim wert2
TextBox1.Value = ""
wert2 = CLng(Label4.Caption)
Wert1 = 3
Do Until wert2 Mod Wert1 = 0 And Wert1  3
Randomize
Wert1 = Int((1000 * Rnd) + 1)
Loop
Label3.Caption = Wert1
lblErg = wert2 / Wert1
End Sub



Private Sub Label4_Click()
Dim Wert1
Dim wert2
Dim x As Integer
TextBox1.Value = ""
Wert1 = CLng(Label3.Caption)
wert2 = 3
Do Until wert2 Mod Wert1 = 0 And wert2  3
Randomize
wert2 = Int((1000 * Rnd) + 1)
Loop
Label4.Caption = wert2
lblErg = wert2 / Wert1
End Sub


Hilfts?
Ciao
Thorsten

Anzeige
AW: rechnungsprogramm
26.03.2009 14:16:54
Jan
ja funzt..kannts du mir bitte noch schnell erklären wieso du das so gemacht hast? ich verstehe nur bahnhof..und wieso 3?
Aber trotzdem vielen Dank!
Gruss Jan
AW: rechnungsprogramm
26.03.2009 14:33:35
Oberschlumpf
Hi Jan
Die Erklärung zum Code

Wert1 = 3
Do Until wert2 Mod Wert1 = 0 And Wert1  3
Randomize
Wert1 = Int((1000 * Rnd) + 1)
Loop


wie folgt:
Wert1 = 3
Wert1 muss vor dem Start der Do/Loop-Schleife einen Wert größer 0 haben , da sonst
wert2 Mod Wert1 = Division durch 0 = Fehler und Codeabbruch
(anstelle von 3 kann auch ein beliegig anderer ungerader Wert verwendet werden)
Do Until wert2 Mod Wert1 = 0 And Wert1 3
Es wird eine Schleife (Do/Loop) gestartet, die erst dann verlassen wird, wenn Rest aus wert2/wert1 = 0, also Ergebnis kein Kommawert ist
Die zweite Bedingung Wert1 3 war erforderlich, weil ich feststellte, wenn als Auswahl für beide Werte = 3, dann gab es keine Wertänderung mehr - in den Labels stand dann also immer 3.
Randomize
Wert1 = Int((1000 * Rnd) + 1)

Mir gefällt es besser (weil für mich einleuchtender), wenn Randomize vor dem Ermitteln einer Zufallsstahl steht - und nicht dahinter.
Loop
Ende der Do/Loop-Schleife - zurück zum Schleifenanfang bis Bedingung(en) erfüllt.
Helfen dir diese Erklärungen?
Ciao
Thorsten

Anzeige
super Erklärung, Danke!
26.03.2009 14:44:26
Jan
tausend dank..Hast einem Einsteiger wieder mal etwas beigebracht..:)
Wünsche noch einen schönen Tag!
Gruss Jan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige