Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
484to488
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
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

textfeld formatieren?

textfeld formatieren?
14.09.2004 14:04:56
Timmy
hallo zusammen,
ich lasse mir in einer userform in einer textbox einen wert einlesen.
sagen wir mal 36.
ich hätte aber gerne das da steht 36,00 €.
geht das?
wenn ja wie?
danke schon mal
timmy

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: textfeld formatieren?
14.09.2004 14:13:04
Mac4
Hallo Timmy,
so müsste es gehen:
UserForm1.TextBox1 = Format([A1], "#,##0.00 €")
Marc
AW: textfeld formatieren?
14.09.2004 14:19:40
Timmy
hallo marc & herbert,
danke für die schnelle antwort.
aber noch eine frage:
UserForm1.TextBox1 = Format([A1], "#,##0.00 €")
wofür genau steht a1 bzw. 36 bei herberts beispiel?
wofür stehen die rauten?
wie wäre der code wenn ich mir die 36 aus der zelle a45 aus der arbeitsmappe "makros" auslesen lasse?
danke schon mal!
gruß
timmy
AW: textfeld formatieren?
14.09.2004 14:24:29
Mac4
Hallo Timmy,
wenn die Mappe "Makros" geöffnet ist, dann so:
UserForm1.TextBox1 = Format(Workbooks("Makros").Sheets(1).[A45], "#,##0.00 €")
Marc
Anzeige
letzte frage :)
14.09.2004 14:31:40
Timmy
und wenn sie nicht geöffnet wäre?
sorry will nicht nerven ;)
gruß
timmy
AW: letzte frage :)
14.09.2004 14:34:11
Hans
... dann muss sie entweder geöffnet werden oder der Wert muss temporär über eine Formel in eine Zelle eingelesen werden. Verknüpfungen von UserForm-Werten mit geschlossenen Arbeitsmappen sind nicht möglich.
Gruss hans
erster versuch
14.09.2004 15:06:50
Timmy
ich habe folgenden code:

Private Sub Textbox1_Change()
If TextBox1 = "" Or 0 Then
TextBox21 = ""
Else
Me.TextBox21.Text = Me.TextBox1.Value * Me.TextBox11.Value
End If
Sheets("Stundensätze+Zuschläge").Select
Stundenanzahl.TextBox11 = Format([D9], "#,##0.00 €")
End Sub

- textbox11 in einer userform (stundenanzahl) in der mappe "xyz" und greift auf eine zahl in "Stundensätze+Zuschläge"!d9 zu. in dieser zelle ist 36 hinterlegt. klappt alles wunderbar. nur:
istzustand: immer noch 36
sollzustand: 36,00 €
wo ist mein fehler?
danke schon mal!
gruß
timmy
Anzeige
AW: erster versuch
14.09.2004 15:12:32
Hans
... kann es sein, dass Du die TextBox mit der Zelle verknüpft hast (ControlSource)? Wenn dem nicht so ist (es soll nicht so sein), funktioniert der Code.
Das UserForm-Objekt kannst Du im Klassenmodul der UserForm selbst weglassen, also:
TextBox11.Text = Format([D9], "#,##0.00 €")
Gruss hans
JUHU!!!!!!!!!!!!!!!!!!
14.09.2004 15:18:59
Timmy
also hans,
ich muss sagen du hast ahnung!
könntest glatt der chef von dem laden hier werden :D
vielen dank jetzt gehts!
gruß
timmy
zu früh gefreut :(
14.09.2004 15:31:01
Timmy
hallo hans,
nochmal der code:

Private Sub Textbox1_Change()
If TextBox1 = "" Or 0 Then
TextBox21 = ""
Else
Me.TextBox21.Text = Me.TextBox1.Value * Me.TextBox11.Value
End If
Sheets("Stundensätze+Zuschläge").Select
TextBox11.Text = Format([D9], "#,##0.00 €")
End Sub

guck mal hier passiert folgendes wenn ich das makro laufen lasse.
wenn ich eine einstellige zahl eingebe funktioniert es einwandfrei.
wenn ich aber eine mehrstellige zahl eingebe, kommt eine errormeldung.
wenn ich zum beispiel in TB1 eine 10 eingeben will passiert folgendes:
vor der eingabe: TB1 = "" TB11 = 36 TB21 = ""
eingabge erste ziffer (1): TB1 = 1 TB11 = 36,00 € TB21 = 36,00 € (wie gewünscht)
eingabe zweite ziffer (0): error
ich denke das liegt daran das versucht wir mit 36,00 € zu multiplizieren und die textbox nicht mehr als zahl erkannt wird, oder?
weisst du nochmal rat?
gruß
timmy
Anzeige
AW: zu früh gefreut :(
Ramses
Hallo
du kannst Text nicht mit Text multiplizieren,... und das ist halt nunmal Text was in einer TEXTBOX steht ;-))
Du musst voher eine Typumwandlung vornehmen
Me.TextBox21.Text = CDbl(Me.TextBox1.Value) * CDbl(Me.TextBox11.Value)
Dann sollte es gehen
Gruss Rainer
immer noch nicht....
14.09.2004 15:58:26
Timmy
hallo rainer,
habe
Me.TextBox21.Text = Me.TextBox1.Value * Me.TextBox11.Value
durch
Me.TextBox21.Text = CDbl(Me.TextBox1.Value) * CDbl(Me.TextBox11.Value)
ersetzt, aber irgendwie gibts immer noch errer.
glaube der kriegt das 36,00 € immernoch nicht auf 36 zurück...
schade :(
danke trotzdem
vielleicht gibts ja noch einen anderen rat
gruß
timmy
Anzeige
neuer lösungsvorschlag
14.09.2004 16:02:11
Timmy
gibt es denn vielleicht die möglichkeit, dass erst berechnet wird, wenn ich mit return bestätige oder mit tab die nächste textbox anwähle? dann wäre das problem ja auch beseitigt!
gruß
timmy
Frage
Ramses
Hallo
Blöde Frage, aber steht in der Textbox1 das "€" mit der Zahl schon drin ?
Es dürfen nur Zahlen drin stehen.
Ausserdem, nur um sicher zu sein, wenn du ein Komma als Dezimaltrennzeichen in die Textbox einfügst, musst das entfernen, und für die Berechnung durch einen Punkt ersetzen.
Aber das weisst du ja bestimmt ;-)
Gruss rAienr
AW: zu früh gefreut :(
Nils
TextBox21 = CDbl(TextBox1) * CDbl(TextBox11)
Nils
Anzeige
AW: zu früh gefreut :( @nils
14.09.2004 16:19:32
Timmy
hallo nils,
das klappt leider auch nicht. gleiche fehlermeldung wie vorher auch.
danke
trotzdem!
gruß
timmy
AW: textfeld formatieren?
14.09.2004 14:13:23
Hans
Hallo Timmy,
TextBoxes kennen keine Format-Zuweisung, also muss der Wert beim Einlesen formatiert werden, also z.B.:
TextBox1.Text = Format(36, "#,##0.00 €")
gruss hans

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige