Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formular automatisch aktualisieren
#1
Hallo
Ich experimentiere gerade ein wenig mit VBA rum. Bin noch ein ziemlicher Neuling. Und zwar habe ich folgendes Problem. Ich habe ein Formular erstellt, aufdem habe ich eine DropDown Liste erstellt. Wenn ich jetzt aus dieser Liste was auswähle, übernimmt diese auch automatisch Daten in andere Textfelder.

Kleines Beispiel:
Ich wähle aus der Liste, z.B. ein Lebensmittel aus. Sobald ich dieses ausgewählt habe, werden automatisch die Nährwerte in die dafür vorhergesehenden, nebenstehende Textfelder mit eingefügt. Jetzt habe ich ein weiteres Textfeld in der ich die Menge/Gewicht eintragen kann. Ist vorab auf 100g gestellt. Wenn ich jetzt aber den Wert ändere z.B auf 200g, bekomme ich es nicht hin, dass die Daten automatisch aktualisiert werden. Ich möchte das sobald ich diese Wert ändere, automatisch die Nährwerte aktualisiert werden, ohne das ich irgendwelche Button's etc. drücken muss. Dies soll auf dem Formular passieren, da mit diesen Werten noch weitere Zwischenrechnungen angestellt werden.

Erläuterung was ich vorhabe:
Ich bin dabei ein Archiv zu erstellen. Über ein Formular kann man einzelne Lebensmittel auswählen und daraus ein Rezept erstellen. Das Formular soll jetzt die Nährwerte der einzelnen Lebensmittel zusammen rechnen. Ist dies geschehen soll das Rezept auf 100g / Nährwerte berechnet werden. Und dann in ein Tabellenblatt eingefügt werden.

Wäre schon wenn mir da jemand weiterhelfen könnte.
Danke im Voraus :28:
Antworten Top
#2
Hi,

ich denke, mit einer Beispieldatei wird es klarer, was du wo vorhast. Hier kannst du nachlesen, wie du eine solche einstellen kannst: http://www.clever-excel-forum.de/thread-326.html

Deine Datei sollte etwa 15-20 Datensätze haben, ein Wunschergebnis bitte händisch eintragen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Ahcas
Antworten Top
#3
Moin,

falls du mit "Formular" eine UserForm meinst ...
Eine Textbox hat u.a. ein Enter- und ein Exit-Ereignis.
Bei Enter kannst du den bisherigen Wert auslesen und in eine Variable schreiben, bei Exit wiederum auslesen und in eine andere Variable schreiben. Der Rest ist dann eine reine Berechnung des Faktors, mit welchem du dann die anderen Felder berechnest und aktualisierst.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • Ahcas
Antworten Top
#4
Hallo
Erst mal Danke für die Antworten. Leider hatte ich in der letzten Zeit wenig Zeit. Heute habe ich mal wieder Zeit mich mit Excel / VBA zu beschäftigen. Leider bringen mich die Antworten überhaupt nicht weiter.

Kurze Erläuterung:
Ich kann per DropDawn Liste in einem Userform Daten aus einer Tabelle integrieren.
Beispiel:
Nahrungsmittel1 auf 100g  mit jeweils 10g einweiß, 18g Kohlenhydrate usw. werden in Userform/Textfelder eingetragen

Jetzt möchte ich, wenn ich im Userform die Menge z.B. auf 200g ändere, dass die Zahlenwerte für Kohlenhydrate, Eiweiß etc. automatisch aktualisiert werden.


Code zuzeit
Private Sub txtMenge1_Change()
    If CDbl(txtMenge1) <> 100 Then 
           txtKohlenhydrate1.Value = CDbl(txtKohlenhydrate1) * CDbl(txtMenge1) / 100
    End If
End Sub

Problem ist jetzt folgendes
Er aktualisiert zwar z.B. im Textfeld Kohlenhydrate was sobald eine Eingabe erfolgt, rechnet aber nicht mit dem Ursprungswert von zb. 10g oder 18g.
Sobald ich anfange die Zahl in Menge auf 200g zu ändern passiert jetzt folgendes.
Wenn ich  jetzt anfange die Zahl  auf 2 ändere, stimmt das Ergebnis noch. Möchte ich aber jetzt eine 0 hinzufügen, geht er nicht mehr von 10g bzw 18g aus, sondern von denm Wert der bei einer 2 berechnet wurde. Somit stimmt das Ergebnis nicht mehr. Bei 2 kommen bei 10g ja erst mal 0.2g aus, füge jetzt jetzt aber ne 0 hinzu, sollen eigentlich 2 rauskommen. Es kommt dann aber 0,04 raus.

Da ich in VBA noch Neuling bin,möchte ich bitten mir das verständlich zu erklären. Danke im Vorraus
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste