Thomas,
Du kan ikke formatere dig frem til resultatet, da Excel ikke
opfatter 310102 som en dato med dag, måned og år.
Du kan gøre det ved hjælp af følgende kode, som skal
indsættes i arkets kodeark.
1. Stå i det pågældende ark og højreklik på arkfanen.
2. Vælg "Vis programkode"
3. Kopier nedenstående kode og sæt den ind i højre vindue,
4. Ret i linien
Set DateRange = Union(Rows("1:5"), Columns("A:D"), Range("K2:M13"))
Hvis det fx foregår i kolonne A, skal linien se således ud:
Set DateRange = Columns("A")
Koden bliver afviklet, hver gang du afslutter en indtastning i arket.
--
Med venlig hilsen
Leo Heuser
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'leo.heuser@get2net.dk, april 2000
Dim DateRange As Range
Dim CellValue As String
Dim DateSeparator As String
On Error GoTo Finito
Set DateRange = Union(Rows("1:5"), Columns("A:D"), Range("K2:M13"))
DateSeparator = Application.International(xlDateSeparator)
CellValue = CStr(CLng(Target.Value))
If CellValue = "" Then Exit Sub
If Not Intersect(Target, DateRange) Is Nothing Then
If Len(CellValue) < 6 Then
CellValue = String(6 - Len(CellValue), "0") & CellValue
End If
If CellValue Like "######" Then
Application.EnableEvents = False
Select Case Application.International(xlDateOrder)
Case 0
Target.Value = Left(CellValue, 2) & DateSeparator & _
Mid(CellValue, 3, 2) & DateSeparator & _
Right(CellValue, 2)
Case 1
Target.Value = Mid(CellValue, 3, 2) & DateSeparator & _
Left(CellValue, 2) & DateSeparator & _
Right(CellValue, 2)
Case 2
Target.Value = Right(CellValue, 2) & DateSeparator & _
Mid(CellValue, 3, 2) & DateSeparator & _
Left(CellValue, 2)
Case Else
Target.Value = Left(CellValue, 2) & DateSeparator & _
Mid(CellValue, 3, 2) & DateSeparator & _
Right(CellValue, 2)
End Select
End If
End If
Finito:
Application.EnableEvents = True
Set DateRange = Nothing
End Sub
"Thomas" <flash4@it.dk> skrev i en meddelelse
news:3c60f476$0$201$edfadb0f@dspool01.news.tele.dk...
> Jeg kan ikke finde ud af at sætte det rigtige format på min kolonne. Jeg
har
> en kolonne som indeholder datoer i formatet 31.01.02 og jeg vil geren have
> det lavet sådan, at når jeg bare skriver 310102 så indsætter den
automatisk
> punktummer. Jeg har prøvet diverse datoformater, men de giver mig bare
nogle
> kryptiske tal i stedet for.
>
> Kan nogen hjælpe mig?
>
> --
> MVH
>
> Thomas
>
http://www.jogt.com - webcam og undervandsbilleder fra Rødehavet
>
http://users.cybercity.dk/~bkb3175/ - en dansk Flash tutorial
>
>