Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Formát buňky v Excelu

A včetně století, 49 = 2049, 50 = 1950.
Do formátování jsou zařazeny pouze sloupce 1,2,3,4 a 6, kromě prvních 4 řádků. Formátovaní je na těch buňkách nastaveno na text. Ignorováno je cokoliv mimo celá čísla 10100-311299. Není kontrola, zda datum existuje, ale to mi nevadí. Takže "projde" třeba 32.14.17 jako 32.14.2017. To mi nevadí.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Chyba
Application.EnableEvents = False
    If (Target.Column <> 1 _
        And Target.Column <> 2 _
        And Target.Column <> 3 _
        And Target.Column <> 4 _
        And Target.Column <> 6) _
        Or Target.Row < 5 Or Target > 311299 Or Target < 10100 Or Mid(Target, 6, 1) = "," Or Mid(Target, 7, 1) = "," Then
        Application.EnableEvents = True
        Exit Sub
    End If
    If Mid(Target, 5, 1) > 4 Then
        Stoleti = 19
        Else: Stoleti = 20
    End If
    Target = Left(Target, 2) & "." & Mid(Target, 3, 2) & "." & Stoleti & Right(Target, 2)
    Application.EnableEvents = True
    Exit Sub
Chyba:
    Application.EnableEvents = True
    Exit Sub
End Sub

Skoro bych řekl, že vyřešeno.
Lepší zápis, případně kontrola existence datumu jsou už jen perličky..

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny