Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1832to1836
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
Zahl mit Eurozeichen Ausgeben
18.06.2021 12:22:06
Lukas
Hi,
ich hätte noch eine weitere Frage zum bereits vorliegenden Programm.
Wenn ich im Eingabefenster meine Preise eingetragen habe, dann wird der Preis nicht mit dem Eurozeichen versehen obwohl ich die Zelle als Währung formatiert habe.
Leider erscheint die Zahl in der Zelle dann nicht mit Eurozeichen sondern die Zahl steht in der Zelle und in der Zelle ist dann oben links ein grünes Dreieck klick ich jedoch als Doppelklick auf die Zelle dann erscheint die Zahl als Währung formatiert mit Eurozeichen. Ich möchte jedoch, dass die Zahl direkt nach der Eingabe mit Eurozeichen in der Zelle erscheint ohne einen Doppelklick auf die Zelle machen zu müssen
Die Excel-Datei findet Ihr unter folgendem Link: https://www.herber.de/bbs/user/146662.xlsm
Für das Eingabefenster habe ich folgenden Code:

Private Sub CommandButton1_Click()
'Eingaben in Zellen übernehmen
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Cells(last, 1).Value = Positionhinzufügen.Ordnungszahl.Value
ActiveSheet.Cells(last, 2).Value = Positionhinzufügen.Gewerk.Value
ActiveSheet.Cells(last, 3).Value = Positionhinzufügen.Leistungsbeschreibung.Value
ActiveSheet.Cells(last, 4).Value = Positionhinzufügen.Mengeneinheit.Value
ActiveSheet.Cells(last, 5).Value = Positionhinzufügen.Einheitspreisniedrigst.Value ----------> Kann es sein, dass anstatt Value hier: .NumberFormat = "#,##0.00 €"
ActiveSheet.Cells(last, 6).Value = Positionhinzufügen.Einheitspreisdurchschnittlich.Value     stehen müsste
ActiveSheet.Cells(last, 7).Value = Positionhinzufügen.Einheitspreishöchst.Value
Unload Positionhinzufügen
End Sub
Ich habe oben meine Vorschlag um den Gewünschten Effekt zu erzielen eingefügt aber das funktioniert leider nicht wie gewünscht.
Hat jemand eine Bessere Idee ?
Danke Grüße Lukas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahl mit Eurozeichen Ausgeben
18.06.2021 12:42:02
Werner
Hallo,
eine TextBox enthält, wie der Name schon sagt, Text. Somit schreibst du Text in die Zelle, der wie eine Zahl aussieht. Und wie die Zelle formatiert ist, ist egel - Text bleibt Text.
Du mußt die "Textzahl" in eine echte Zahl umwandeln. Zudem müsste auch noch eine Prüfung rein, ob die TextBox leer ist bzw. ob der Inhalt der TextBox in eine Zahl gewandelt werden kann. Sonst läuft der Code beim Versuch, zum Beispiel einer leeren TextBox, das in eine Zahl umzuwandeln in einen Fehler.
CDbl für Gleitkommazahlen, CLng für Ganzzahlen.

If Me.Einheitspreisniedrigst  "" Then
If IsNumeric(Me.Einheitspreisniedrigst) Then
Cells(last, 5).Value = CDbl(Me.Einheitspreisniedrigst)
Else
MsgBox "Fehler: Der Wert ist nicht numerisch."
End If
End If
Noch was: Das ständige schreiben des Namens der Userform kannst du verkürzen indem du Me verwendest = die Userform, von der aus der Code aufgerufen wurde.
Eigentlich kannst du selbst das Me weglassen, es genügt die Angabe der TextBox, wenn der Code im Codemodul der entsprechenden Userform ist.
Und wenn du das aktive Tabellenblatt ansprichst, dann kannst du auch den Namen weglassen. Eine Range-Angabe, ohne Angabe eines Tabellenblattes bezieht sich auf das aktive Blatt.
Gruß Werner
Anzeige
AW: Zahl mit Eurozeichen Ausgeben
18.06.2021 12:46:56
Günther
Moin Lukas,
… und vermutlich stehen die Werte links in der Zelle, denn schließlich übernimmst du die Werte ja aus einer TEXTbox. Ich kann es nicht prüfen, da ich ausschließlich *.xlsx-Files aus Foren öffne. Versuche doch einmal folgendes:

ActiveSheet.Cells(last, 5).Value = CCur(Positionhinzufügen.Einheitspreisniedrigst.Value)
und ähnliches bei anderen Zahlenwerten. * Ungeprüft *
 
Gruß
Günther  |  mein Excel-Blog
Anzeige
AW: Zahl mit Eurozeichen Ausgeben
18.06.2021 13:02:42
Lukas
Hi Günther,
klasse das klappt tausend Dank. Kannst du mir vielleicht noch sagen, warum genau es Funktioniert, wenn man CCur davor setzt ?
Grüße
Lukas
AW: Zahl mit Eurozeichen Ausgeben
18.06.2021 13:12:46
Günther
Moin Lukas,
ohne diese Funktion übergibst du Text in das Arbeitsblatt. Auch wenn ein (echter) Text nur aus Ziffern besteht, es ist keine Zahl sondern bleibt Text. CCur()
steht für Convert (to) Currency, also konvertiere (wandle um) in den Datentyp Währung. Vom Prinzip ist das mit den CDbl() von Werner vorgeschlagen, auch da wird der (Ziffern-Text) in einen kommabehafteten Wert umgewandelt.
Gruß
Günther  |  mein Excel-Blog
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige