/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
[ Excel 2000] Format på kolonne?
Fra : Thomas


Dato : 06-02-02 10:19

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



 
 
Leo Heuser (06-02-2002)
Kommentar
Fra : Leo Heuser


Dato : 06-02-02 13:13

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
>
>







Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste