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

vlož do modulu hárka nasledujúci kód:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Or Mid(Target, 3, 1) = "." Then Exit Sub
    Target = Left(Target, 2) & "." & Mid(Target, 3, 2) & ".20" & Right(Target, 2)
End Sub

Aby sa kód neuplatňoval u iných stĺpcov, je potrebné definovať stĺpec, do ktorého zapisuješ ten Tvoj "skrátený tvar dátumu".
V uvedenom príklade ide o stĺpec "A" : Target.Column <> 1
Teda, pokiaľ sa nedeje zmena v stĺpci "A", ignoruj procedúru.
Podmienka: Stĺpec "A" musí mať nastavený formát buniek "text"!!!

Ovšem, nie je tu žiadne preverovanie, či nezadávaš blbosť, teda deň väčší ako 28, 29, 30, 31, mesiac väčší ako 12...
K dvojcifernému roku sa automaticky doplní predčíslie "20". Toto predčíslie nie je nutné dopĺňať, ale potom sa rok bude zobrazovať ako posledné dvojčíslie, ale napriek tomu s tým bude počítať ako s dátumom.

Ale teraz vidím, že Dwane Ti už navrhol iný dobrý a funkčný spôsob:
Vyplníš si stĺpec s Tvojim tvarom dátumu, nestaráš sa a na záver uplatníš na celý stĺpec nástroj "Text na stĺpce" pričom si zvolíš výsledok v tvare dátumu. Dokonca aj vzorce nad takto vzniknutými dátumami Ti budú fungovať a do očí Ti udrú chybné dátumy (správne dátumy sa zarovnajú dopravy, chybné doľava... Stĺpec ale musí byť tiež nastavený na formát textu, aby si mohol zadávať v Tvojom tvare ddmmrr

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