

Problém s makrem na odstranění češtiny v Excelové tabulce
Někde na webu jsem si našel makro, podle kterého by se měly v Excelové tabulce odstranit české znaky s diakritikou:
Sub Odcesti()
Dim Bunka As Range
Dim Oblast As Range
Dim PoleS()
Dim PoleBez()
Application.ScreenUpdating = False
PoleS = Array("Ä", "Á", "Č", "Ď", "É", "Ě", "Í", "Ĺ", _
"Ň", "Ö", "Ó", "Ř", "Š", "Ť", "Ü", "Ú", "Ů", "Ý", "Ž", _
"ä", "á", "č", "ď", "é", "ě", "í", "ĺ", "ň", "ö", "ó", _
"ř", "š", "ť", "ü", "ú", "ů", "ý", "ž")
PoleBez = Array("A", "A", "C", "D", "E", "E", "I", "L", _
"N", "O", "O", "R", "S", "T", "U", "U", "U", "Y", "Z", _
"a", "a", "c", "d", "e", "e", "i", "l", "n", "o", "o", _
"r", "s", "t", "u", "u", "u", "y", "z")
For Each Bunka In ActiveSheet.UsedRange
If (Not Bunka.HasFormula) And (Not HasValidation(Bunka)) Then
If Oblast Is Nothing Then Set Oblast = Bunka
Set Oblast = Union(Oblast, Bunka)
End If
Next Bunka
For i = 0 To 37
Oblast.Replace What:=PoleS(i), Replacement:=PoleBez(i), _
LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=True
Next i
Application.ScreenUpdating = False
End Sub
Když ho ale spustím, označí se mi výraz "HasValidation" a nahlásí mi to chybu: "Compile error: Sub or Function not defined."
Nevíte, jak to napravit, aby makro fungovalo? VBA je pro mě vískou nedaleko Toleda.
Samotným závěrem alespoň pro mne zajímavý poznatek.
Toho makra na odčeštění excelové tabulky jsem se domáhal proto, že jsem ji nemohl převést do databáze MySQL a to ani když jsem ji zkonvertoval do *.mdb. Převod byl odmítnut jak v programu Navicat tak i standardně přes ODBC.
Na webu jsem se dočetl, že na vině jsou problémy se znakovou sadou. Tak jsem s neocenitelnou pomocí kolegy Návštěvníka transformoval tabulku do "cestiny", avšak ani toto nepomohlo a do MySQL jsem ji nepřevedl.
Nakonec jsem zjistil, že na vině nebyla písmena s diakritikou, nýbrž m2 (symbol čtverečních metrů s dvojkou v horním indexu) a dále dlouhá pomlčka namísto krátké. Když jsem tyto znaky nahradil, tabulka jak v Excelu, tak i v Accessu se převedla do MySQL bez jediné chyby.