1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Punkt- Komma-Problem

Discussion in 'Programmieren' started by fredyx, Aug 22, 2008.

Thread Status:
Not open for further replies.
  1. fredyx

    fredyx Byte

    Hallo zusammen,

    folgendes Problem ärgert mich zZ.

    Ich trage über ein Textfeld eines Formulars z.B. die Zahl 1.54 in eine Zelle einer Tabelle ein. Weil diese Zelle als Zahl mit einer Einheit mm definiert ist, erscheint dort 1,54 mm. So weit so gut.

    Wenn ich das Formular wieder aufrufe und den in der Zelle stehenden Wert übernehmen will, dann zeigt das Textfeld 1,54.

    Dies interpretiert Excel bei der erneuten Übernahme des Textfeldes in die Zell offensichtlich als Text und trägt dann dort nur 1,54 ein, übernimmt also nicht das der Zelle zugeordente Format x,xx mm.

    Wie kann ich erreichen, dass das Textfeld beim Wiederaufruf die 1.54 anzeigt, oder dass die Zelle die 1,54 als zahl akzeptiert??

    Eine Formatvorgabe in der Zelle mit z.B. 0.00 mm funktioniert leider nicht, weil wie ich vermute, Excel den Punkt nur als tausendertrennung erkennt.

    vG

    fredyx
     
  2. plerzelwupp

    plerzelwupp Halbes Megabyte

    Das kannst du mit Makros oder mit Formeln beheben.

    Wenn Du stets mit "." statt "," arbeiten möchtest, empfiehlt es sich, das in Excel einzustellen.
    Die entsprechende Option findest Du unter Extras/Optionen - Karteikarte "International"
     
  3. plerzelwupp

    plerzelwupp Halbes Megabyte

    möglicherweise kannst Du die o.g. Einstellung per Makro beim Start dieser Tabelle aufrufen (und bei Schließen wieder deaktivieren). Es sei denn, du arbeitest prinzipiell lieber mit "."
     
  4. fredyx

    fredyx Byte

    Hallo plerzelwupp,

    danke für die Antwort.

    Aber leider gibt es bei mir diese Karteikarte nicht, da ich noch mit Excel 2000 arbeite.

    vG

    fredyx
     
  5. fredyx

    fredyx Byte

    Es geht nicht darum, womit ich lieber arbeite!
    Damit nach der Eingabe über das Textfeld die Zelle die Eingabe als Zahl erkennt und damit das der Zelle zugeordnete Format (nämlich 0,00 mm) annimmt, muss ich in das Textfeld 1.54 eintragen. Trage ich 1,54 ins Textfeld ein, dann steht inder Zelle auch nur 1,54 als Text und Excel gibt dann beim Rechnen mit dieser Zelle eine Fehlermeldung aus.

    Ich verstehe dich leider nicht, wo ich da was mit "." oder "," machen kann.

    Ist es evtl. möglich, dass man beim Öffnen des Textfeldes die Übernahme des in der Zelle stehenden Wertes mit einer Formatvorgabe versieht??

    Gruß

    fedyx
     
  6. plerzelwupp

    plerzelwupp Halbes Megabyte

    mmmh - ich verstehe immer noch nicht ganz .... wie schaut denn das Format in deiner Zelle aus? Sollte benutzerdefiniert in etwa so aussehen:

    #.##0,00 "mm"
     
  7. plerzelwupp

    plerzelwupp Halbes Megabyte

    oder ladedoch bitte irgendwo mal ein Beispiel hoch, damit wir besser nachvollziehen können, was da genau geschieht.
     
  8. TheD0CT0R

    TheD0CT0R Dr. h.c. Mod

    Dann stimmt was mit deinen Regions- und Sprachoptionen nicht. Oder verwendest du da ein englisches Windows bzw. Excel?
     
  9. Hascheff

    Hascheff Moderator

    Hallo fredyx,
    Ich vermute, du meinst die Userform in VBA.
    Ist der Zellinhalt wirklich eine Zahl? Oder hast du im VBA-Code "mm" angehängt?
    Da du im Board "Programmieren" postest, hast du doch sicher Code, den du uns zeigen kannst?
     
  10. fredyx

    fredyx Byte

    Hallo zusammen,

    ich danke Euch für die Hilfen.

    Inzwischen habe ich das Problem aber so gelöst, dass ich vor dem Schreiben des Zelleninhalts in das Textfeld des Formulars das Komma des Textes einfach durch einen Punkt ersetze.

    .TextBox1.Text = Replace(Str(ActiveCell.Offset(0, 0).Value), ",", ".")

    Vielleicht hilft's ja auch jemand anderem.

    vG

    fredyx
     
Thread Status:
Not open for further replies.

Share This Page