Anzeige
Archiv - Navigation
1132to1136
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

Formate in Userform erzingen -> Übergabe an Makro

Formate in Userform erzingen -> Übergabe an Makro
SvenS
Hallo in die Runde,
ich steh mal wieder vor einer größeren Herausforderung... (zumindest ist dies für mich eine)
Ich habe ein Makro geschrieben, welches mir eine Tabelle in ein bestimmtes Format bringt. Das funktioniert jetzt auch, dank dieses Forums... :-)
Unter anderem werden auch verschiedene Spaltensummen (Währung) berechnet.
Es sind nun aber noch zwei Eingaben durch den Benutzer gefordert, was ich mit einer UserForm ("Rabatt_Form") lösen möchte, welche ich bereits erstellt habe.
1. Eingabe der Projektbezeichnung in TextBox "Input_Proj_Name" (Kann alle Zeichen enthalten)
2. Eingabe des Rabattes in TextBox "Input_Rabatt_Abs" in Euro in Spalte K (unter der letzten Zelle mit 2 Zellen offset)
ODER
3. Eingabe des Rabattes in TextBox "Input_Rabatt_Proz" in % in Spalte K (unter der letzten Zelle mit 2 Zellen offset)
Die "Verriegelung" der Felder habe ich im UserForm mit
TextBox1.Visible = True
bzw.
TextBox1.Visible = False
realisiert. Es ist zum Zeitpunkt der Eingabe also nur jeweils eine der beiden Rabatt-TextBoxen sichtbar (siehe Bild). Wenn die Textbox "Input_Proj_Name" leer ist, fang ich das auch schon ab.
ABER:
Jetzt habe ich im Wesentlichen 2 Probleme:
1. Wie stelle ich sicher, dass bei beiden Rabattarten nur Zahlen mit 2 Dezimalstellen eingegeben werden können?
2. Wie übergebe ich dann von meiner UserForm die Werte der TextBoxen an das Makro (zur weiteren Verarbeitung in Formeln)?
Mein Plan:
Makro starten
--> Rabatt_Form.show
--> Eingaben annehmen (Hierbei die Eingabe der Zahlenformate mit 2 Dezimalstellen erzwingen)
--> Übergabe an das Makro (wahrscheinlich in Variablen)
--> Im Makro die Variablen zur weiteren Berechnung laden
--> Berechnungen durchführen
Fertig
Ich denke für nen echten Fachmann kein Thema, aber ich steh hier grad vor ner Wand...
Und wie immer: Danke im Voraus....

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Formate in Userform erzingen -> Übergabe an Makro
04.02.2010 18:18:34
SvenS
Hier noch die Dateien mit dem Formular, dem Makro, und einem Testfile, über welches das Makro laufen soll nur für den Fall, dass sich das jemand ansehen möchte...
Formular: https://www.herber.de/bbs/user/67767.xls
Makro: https://www.herber.de/bbs/user/67768.xls
Testfile: https://www.herber.de/bbs/user/67769.xls
Bitte nicht unken, ich weiß, dass der Code an der einen oder anderen Stelle amateurmäßig und unbeholfen ist, aber er erfüllt erstmal seinen Zweck.
Momentan sind im Makro noch Input-Boxen eingebaut, allerdings kann ich hier nicht auf das gewünschte Zahlenformat prüfen und dieses erzingen. Deshalb jetzt der Versuch mit der Userform...
Danke Euch für jeden Tip...
Anzeige
Vorschlag ...
04.02.2010 18:23:25
Matthias
Hallo Sven
Das ist jetzt nicht ausgiebig getestet, aber evtl. hilft s Dir ja als Ansatz.
Zielzelle ist als Zahl mit 2 Dezimalstellen formatiert.
Userbild
https://www.herber.de/bbs/user/67770.xls
Gruß Matthias
AW: Vorschlag ...
04.02.2010 20:57:03
Troubleshooter
Hols Dir doch aus der Zelle wieder...?
Wie meinst das?
AW: Formate in Userform erzingen -> Übergabe an Makro
04.02.2010 18:41:30
SvenS
Der Ansatz mit CDbl sieht gut aus! So kann ichs offensichtlich gleich bei der Eingabe abfangen...
Für alle:
Private Sub CommandButton1_Click()
If IsNumeric(TextBox1) "

Fehlt nur noch:
2. Wie übergebe ich dann von meiner UserForm die Werte der TextBoxen an das Makro (zur weiteren Verarbeitung in Formeln)?
Anzeige
hols Dir doch aus der Zelle wieder ... oT
04.02.2010 18:53:18
Matthias
AW: hols Dir doch aus der Zelle wieder ... oT
04.02.2010 21:09:24
Troubleshooter
Ach so!

Cells(2, 2) = CDbl(TextBox1.Value & Label1.Caption & TextBox2.Value)
Du meinst von hier? Klar, das könnts sein! Ich spiel das mal durch...
AW: Formate in Userform erzingen -> Übergabe an Makro
07.02.2010 21:21:24
Troubleshooter
@ MatthiasL
Letztendlich war es die perfekte Vorlage zur endgültigen Lösung!
Vielen Dank!
hier meine Lösung und die funktioniert jetzt perfekt:
Private Sub cmd_send_all_Click()
' ---- Prüfe Eingabe der Felder für Rabatt in Euro ----
If Input_Rabatt_Abs.Visible = True And Input_Rabatt_Abs_Dez.Visible = True Then
If IsNumeric(Input_Rabatt_Abs) And IsNumeric(Input_Rabatt_Abs_Dez) Then
Input_Rabatt_Proz_sum = ""
Input_Rabatt_Abs_sum = CDbl(Input_Rabatt_Abs.Value & Input_Rabatt_Komma.Caption &  _
Input_Rabatt_Abs_Dez.Value)
Else
If MsgBox("Bitte nur Zahlen eingeben!", vbOKOnly, "Eingabefehler...") = vbOK Then
Call cmd_rab_euro_Click
Input_Rabatt_Abs.SetFocus
End If
End If
' --- Variablenwert anzeigen
'MsgBox ("hier die Variable Euro vor der Übergabe: " & Input_Rabatt_Abs_sum)
' ---- Prüfe Eingabe der Felder für Prozent ----
ElseIf Input_Rabatt_Proz.Visible = True And Input_Rabatt_Proz_Dez.Visible = True Then
If IsNumeric(Input_Rabatt_Proz) And IsNumeric(Input_Rabatt_Proz_Dez) And Input_Rabatt_Proz 
Im Modul kann ich dann beide Variablen weiter verwenden...
Anzeige
wie schön :-)
08.02.2010 19:21:13
Matthias
Hallo
Ohne mich jetzt da weiter reinzudenken, freut es mich das Du Dich hier nochmal gemeldet hast.
Viel Erfolg weiterhin ...
Gruß Matthias

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige