Microsoft Excel

Herbers Excel/VBA-Archiv

Eingabe formatiert zurückgeben (Komma und Punkt)

Betrifft: Eingabe formatiert zurückgeben (Komma und Punkt) von: Lemmi
Geschrieben am: 07.08.2008 21:35:07

Hallo zusammen,

ich möchte Euch eine wahrscheinlich einfache Frage stellen, die ich mir gerade mal nicht beantworten kann!

Wie stelle ich sicher das auch wenn ein Punkt als Trennzeichen eingegeben worden ist, am Ende immer ein Komma in der Zelle steht?

Eingabe 10,0........Ausgabe 10,0
Eingabe 10.0........Ausgabe 10,0

Die möchte ich in Spalte A7 : A100 und C7:C100 umsetzten!

Gruß

Lemmi

  

Betrifft: AW: Eingabe formatiert zurückgeben (Komma und Punkt) von: Ramses
Geschrieben am: 07.08.2008 21:45:42

Hallo

Deine Benutzer sollen sich daran gewöhnen die Zahlen korrekt einzugeben.
Entweder Oder.
Auf anderen Rechnern funktioniert das automatische ersetzen ja auch nicht.

Wenn du Zahlen über die Tastatur/Nummernblock eingeben willst, geht es ganz einfach

Extras - Optionen - International

Dort das Trennzeichen definieren.

Gruss Rainer


  

Betrifft: AW: Eingabe formatiert zurückgeben (Komma und Punkt) von: Lemmi
Geschrieben am: 07.08.2008 22:23:50

Hallo Ramses,

ja, wenn alles so einfach währe!

viele Nutzer haben auch einen Laptop und keinen Nummernblock!

...und nun ?


Wie könnte eine alternative Aussehen?

Gruß

Lemmi


  

Betrifft: AW: Eingabe formatiert zurückgeben (Komma und Punkt) von: Ramses
Geschrieben am: 07.08.2008 23:31:45

Hallo

Dann wird bei Eingabe eines Punktes der Eingabewert doch in ein Datum verwandelt und somit klar angezeigt, dass die Eingabe falsch ist.
Das Problem hierbei ist, dass es kein KeyDown-Ereignis gibt, die eine Prüfung der Eingabe zulässt.
So kommen also nur das Change oder Selection_Change Ereignis in Frage.
Da zu diesem Zeitpunkt EXCEL die automatische Erkennung/Umwandlung einer gültigen Datumseingabe z.B: "23.2" aber schon in Datum umgewandelt und die Replace-Funktion, bzw. das Ersetzen des Punktes gegen ein Komma greift ins Leere.

Für Werte die keinen Datumswert darstellen KÖNNTE dies funktionieren

Option Explicit

Private Sub Worksheet_Change2(ByVal Target As Range)
    If InStr(1, Target, ".") > 0 Then
        With Target
            .NumberFormat = "0.0"
            .Value = Replace(.Value, ".", ",")
        End With
    End If
End Sub


Aber wie gesagt,... Ich würde das nicht machen.
Die User sehen ja, dass die Eingabe falsch ist und sollten dies entsprechend korrigieren und nicht durch ein Makro.

Gruss Rainer


  

Betrifft: AW: Eingabe formatiert zurückgeben (Komma und Punk von: Uduuh
Geschrieben am: 07.08.2008 23:06:50

Hallo,
hoch problematisch!
Erst springt die automatische Umwandlung an. 3.4 ergibt den 3.4.2008=39541
Danach kommt erst das Change-Event. In 39541 ist kein . mehr vorhanden. Und jetzt?
Ich glaube nicht, dass du das abfangen kannst

Gruß aus’m Pott
Udo



 

Beiträge aus den Excel-Beispielen zum Thema "Eingabe formatiert zurückgeben (Komma und Punkt)"