Programmentwurf Artikel (Apfel, Birne) zählen

0Neuling0

Grünschnabel
Hallo zusammen
Ich muss folgenden Programmentwurf schreiben:
Es sollen mehrere Artikel (Apfel, Birne, Banane) zusammengezählt werden, wenn man auf eine Befehlschaltfläche "Start" drückt. So weit so gut.
Nun soll es noch eine zweite Befehlschaltfläche geben, "Ausgangszustand", mit der man praktisch das zusammenzählen durch "Start" wieder rückgängig macht.

Apfel 0,30
Birne 0,40
Apfel 0,30
Banane 0,35
Birne 0,40

Anzeige vor drücken von "Start" und nach drücken
von "Ausgangszustand "

Nach drücken von Start:
2 Äpfel 0,60
2 Birnen 0,80
1 Banane 0,35

Hat jemand ne Idee, wie ich den Ausgangszustand wieder erreich? Was ich in vba für Befehle schreiben muss?

Bin dankbar für jede Antwort

Gruß .
 
Du könntest vor dem Addieren einfach die Werte in entsprechenden Variablen speichern und diese Werte beim Anklicken des "Reset" Buttons wieder eintragen.

Visual Basic:
Sub Button_Addieren_Click()
  apfel_start = Textfeld_Apfel.Text
  birne_start = Textfeld_Birne.Text
'usw.

'Hier dann der Code zum Addieren
End Sub

Sub Button_Reset_Click()
  Textfeld_Apfel.Text = apfel_start
  Textfeld_Birne.Text = birne_start
'usw.
End Sub

Die Variablen musst du natürlich entsprechend deklarieren das sie überall wo du sie brauchst gültig sind.

Es geht natürlich auch ohne Variablen indem du beim Zurücksetzen einfach die Gesamtpreise wieder durch die Stückzahlen teilst. Aber ob das so gut ist.
 
Wenn man deinen Beitragstitel betrachtet, dann könnte man vermuten das du vielleicht so eine kleine Auftragsverwaltung machen willst.

Da würde es sich dann aber anbieten wenn du Felder für Stückzahl, Stückpreis und Gesamtpreis machst.
Dann erstellst du eine allgemein gültige Prozedur die immer Menge mal Preis rechnet und das Ergebnis ins entsprechende Feld einträgt.

Sieht dann in etwa so aus:

Visual Basic:
Sub Berechnen(Nummer As Integer)
'Hier wird berechnet. Der Name der geänderten Feldes wird durch die übergebene
'Nummer gebildet
    UserForm1.Controls("Text" & Nummer & "_Gesamt").Text = UserForm1.Controls("Text" & Nummer & "_Menge") * UserForm1.Controls("Text" & Nummer & "_Preis")
End Sub

Private Sub cbLöschen_Click()
'Felder auf 0 zurücksetzten
    Text1_Menge = 0
    Text2_Menge = 0
End Sub

Private Sub Text1_Menge_Change()
'Prozedur zum Rechnen aufrufen und den Wert des Feldes übergeben
    Berechnen (1)
End Sub

Private Sub Text2_Menge_Change()
'Prozedur zum Rechnen aufrufen und den Wert des Feldes übergeben
    Berechnen (2)
End Sub
 

Anhänge

  • berechnen.jpg
    berechnen.jpg
    16 KB · Aufrufe: 26
Hab mir auch deinen zweiten Vorschlag angeschaut, aber mit UserForm darf ich nichts machen - ist so vom Prof vorgegeben......
Danke nochmal!!
 
Womit arbeitest du dann und wo und wie werden die Daten angezeigt bzw. wo wird die Menge eingegeben?
 
Es wird alles im Tabellenblat eingegeben und angegeben.
In der Zwischenzeit funktioniert der "Ausgangszustand". Hab's so gemacht, wie du gesagt hast (mit den Variablen speichern)...
Der Tip war echt super =) Dass ich da ned selber drauf gekommen bin *kopfschüttel*
 
Zurück