• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

datum gemakkelijk ingeven

Status
Niet open voor verdere reacties.

MissSunshine

Gebruiker
Lid geworden
2 apr 2014
Berichten
7
hallo

Hoe kan ik ervoor zorgen dat indien men bv 01012014 intypt dat er automatisch in de cel 01/01/2014 komt (als datum)?
Idem voor een uur dus bv 0800, dat dit 08:00 is.
bedankt
 
Zijn de kolommen en plaatsen waar dit moet gebeuren vast of verwacht je dat voor elke willekeurige plaats op het werkblad? En daar mee samenhangend: worden uren en datums gemixt? of is er een kolom datum en een kolom tijd?

Als bijkomend probleem krijg je dan dat als eenmaal een cel als datum is ingesteld, dat het herinvoeren van dat formaat niet meer automatisch werkt.

Mogelijk kun je dus wel wat maken, maar is een beetje afhankelijk van hoe en waar en wat je wilt doen.
 
het betreft vaste cellen:
1 vaste cel voor een datum (enkel datum mogen ingeven, geen uren),
2 vaste cellen voor uren (1 cel met een beginuur bv 08:00 en 1 cel met een einduur bv 12:00, enkel uur mogen ingeven, geen datum)
 
Het kan met een macro. Echter om dat werkend te krijgen zijn de exacte cellen/kolommen waar datums komen nodig. Hetzelfde geldt voor de tijd.

Hieronder vast de voorbeeldcode die werkt voor datums, maar indien zo gebruikt werkt die voor alle cellen, niet alleen beperkte. Een (simpel) voorbeeldbestand is eventueel nog makkelijker, dan kan het ineens goed.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim test As Boolean
    test = False
    On Error Resume Next
    test = IsDate(Target.Value)
    If test = False Then
        If Len(Target.Value2) = 8 Then
            If InStr(Target.NumberFormat, "/") Then
                Target.NumberFormat = "General"
            End If
            Target.Value = CDate(Left(Target.Value, 2) & "-" & Mid(Target.Value, 3, 2) & "-" & Right(Target.Value, 4))
        End If
    End If

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan