Excel 2007 > 2019, nefunkční část VBA kódu
Narazil jsem na problém. V jedné tabulce Excelu 2007 jsem měl (VBA) kód listu, který po otevření v Excelu 2019 nefunguje. Mám dvě podobné tabulky/aplikace, v jedné to jde, v druhé ne. Principiálně se mi to zdá skoro stejné, zkoušel jsem kód zkopírovat (a upravit podle místních podmínek), ale nechytl jsem se.
Řešil jsem úlohu, aby v buňce napsaný text "051119" byl chápán jako text "05.11.2019", s čímž pak dokážu později pracovat jako s datumem. Mám na to kód listu. Excelu 2007 mi to funguje v obou aplikacích, v Excelu 2019 jen v jedné.
Došlo ve VBA 2019 oproti 2007 k nějakým zásadním změnám?
Kód:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Chyba
Application.EnableEvents = False
If (Target.Column <> 4) Or Target.Row < 8 Or Target > 311299 Or Target < 10100 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
Chci, aby tahle změna, ta akceptace změny textu na datum, platila pouze ve 4. sloupci a od 8. řádku. Formát tohoto 4. sloupce je text.