Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
268to272
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
268to272
268to272
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum Format tt.mm.yyyy

Datum Format tt.mm.yyyy
19.06.2003 14:51:47
R.Lerche
Hallo Forum,

ich habe ein Makro gefunden, schaffe es jedoch nicht für meinen Gebrauch abzuändern. Die Eingabe des Datums sollte sein: ttmmyyyy und nicht wie in diesem Makro vorgesehen mmttyyyy .
Konnte mir jemand bitte weiterhelfen?

Rainer

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MsgBox "in"
Dim DateStr As String

On Error GoTo EndMacro
If Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
Exit Sub
End If
If Target.Cells.Count > 1 Then
Exit Sub
End If
If Target.Value = "" Then
Exit Sub
End If

Application.EnableEvents = False
With Target
If .HasFormula = False Then
Select Case Len(.Formula)
Case 4 ' e.g., 9298 = 2-Sep-1998
DateStr = Left(.Formula, 1) & "/" & Mid(.Formula, 2, 1) & "/" & Right(.Formula, 2)
Case 5 ' e.g., 11298 = 12-Jan-1998 NOT 2-Nov-1998
DateStr = Left(.Formula, 1) & "/" & Mid(.Formula, 2, 2) & "/" & Right(.Formula, 2)
Case 6 ' e.g., 090298 = 2-Sep-1998
DateStr = Left(.Formula, 2) & "/" & Mid(.Formula, 3, 2) & "/" & Right(.Formula, 2)
Case 7 ' e.g., 1231998 = 23-Jan-1998 NOT 3-Dec-1998
DateStr = Left(.Formula, 1) & "/" & Mid(.Formula, 2, 2) & "/" & Right(.Formula, 4)
Case 8 ' e.g., 09021998 = 2-Sep-1998
DateStr = Left(.Formula, 2) & "/" & Mid(.Formula, 3, 2) & "/" & Right(.Formula, 4)
Case Else
Err.Raise 0
End Select
.Formula = DateValue(DateStr)
End If

End With
Application.EnableEvents = True
Exit Sub
EndMacro:
MsgBox "You did not enter a valid date."
Application.EnableEvents = True
End Sub




3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datum Format tt.mm.yyyy
19.06.2003 15:53:27
andre

hallo lerche,
wenn du immer ttmmyyyy eingibst kann man es darauf einschränken:

Application.EnableEvents = False
With Target
If .HasFormula = False Then
if Len(.Formula)=8 then
' e.g., 02091998 = 2-Sep-1998
DateStr = Mid(.Formula, 3, 2) & "/" & Left(.Formula, 2) & "/" & Right(.Formula, 4)
Else
Err.Raise 0
End if
.Formula = DateValue(DateStr)
End If

(ungetestet)
gruss andre

Re: Datum Format tt.mm.yyyy
19.06.2003 17:55:55
R.Lerche

Hallo Andre,

vielen Dank für Deine Antwort. Dein Vorschlag funktioniert leider nicht.
zB. Eingabe : 15121999 ergibt Fehlermeldung über (MsgBox "You did not enter a valid date.")
Ich vermute es gibt einen anderen Weg, habe schon viel probiert aber...

Gruß Rainer


Anzeige
Re: Datum Format tt.mm.yyyy
19.06.2003 18:53:43
andre

hallo rainer,
dieses hier funktioniert bei mir. änderungen: .formula=datevalue(datestr) kommt bei mir vor das else
in zelle a1 auf dem ersten sheet steht vorher '02091998 (beachte zellformat text oder vorangestelltes apostroph)
und hinterher 02.09.1998


Public Sub test()
Dim target As Range
Set target = Sheets(1).[a1]
With target
If .HasFormula = False Then
If Len(.Formula) = 8 Then
' e.g., 02091998 = 2-Sep-1998
DateStr = Mid(.Formula, 3, 2) & "/" & Left(.Formula, 2) & "/" & Right(.Formula, 4)
.Formula = DateValue(DateStr)
Else
'Err.Raise 0
End If
End If
End With
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16

gruss andre

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige