Excel 2003 - Makro

bacardyyyy

Lt. Junior Grade
Registriert
Juni 2005
Beiträge
449
Hi ich habe Excel 2003 und möchte nun folgendes Makro programmieren.
ich möchte Zeiten eingeben z.b "11:00", will diese Zeit aber nur so eingeben müssen "11,00", so dass das "," in einen ":" umgewandelt wird. (Das sollte am besten schon während der Eingabe umgeändert werden)
Das ganze nicht als Autokorrekturverfahren, da ich dieses Verfahren nur auf einige bestimmte Arbeitsmappen anwenden möchte und bei anderen nicht, und die Autokorrektur immer wieder umschreiben geht nicht, da auch andere mit den Mappen arbeiten sollen!!!
 
Servus.

Wie wärs denn mit sowas:

Code:
Option Explicit
Dim i As Integer, zeit As String, ziffer As String
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Target.Text Like "##:##" Then
        For i = 1 To Len(Target.Text)
            ziffer = Mid(Target.Text, i, 1)
            If ziffer = "," Then ziffer = ":"
            zeit = zeit & ziffer
        Next i
        Range(Target.Address) = zeit
    End If
End Sub
Das schreibst du in die Tabelle, in der du's ersetzt haben möchtest.
 
das klappt irgendwie nicht, da stürzt excel ab !!!
 
Ganz unterschiedlich:
Eingabe: 11,25 Ausgabe: 7:08
Eingabe: 15,00 Ausgabe: "der pc rechnet sich in blaue->absturz"

Glaube einmal hat es sogar geklappt:freak:

Total kompliziert
 
Servus

Hm, wie?
wenn du "11,25" eingiebst erscheint nach'm enter drücken "7:08" ? Das ist seltsam...
eigentlich schaut der code sich jeden Buchstaben an und wenn er "," ist, ersetzt er ihn durch ":".

Aber ein Fenster mit:

"Laufzeitfehler 'Nr'" erscheint nicht?

Edit:
Wie ist es denn mit der Zeile:
If Not Target.Text Like "*:*" Then
statt dieser:
If Not Target.Text Like "##:##" Then
 
Zuletzt bearbeitet: (neue Idee!)
Zurück
Oben