Provedl jsem průzkum bojem. Instalovaný jazyk aplikace Excel lze zjistit např. pomocí následující procedury:
Sub X()
Dim objLangSet
Set objLangSet = Application.LanguageSettings
MsgBox objLangSet.LanguageID(msoLanguageIDInstall)
' nápověda - MsoAppLanguageID Enumeration
' CZ - 1029; SK - 1051; HU - 1038
End SubPro potřeby mezinárodního zobrazení jména měsíce v rámci kalendářního data by ale měla stačit následující UDF:
Function DatM(Dat As Date) As String
DatM = Format(Dat, "d/mmmm yyyy")
End Function
Už na úrovni VBA mi tato funkce ukazuje české znění měsíců. Z toho soudím, že v maďarském Excelu to budou maďarské měsíce (obecně znění podle lokalizace). Použití na listu je velmi prosté:
= DatM(B3)
pro 13.5.2016 v buňce B3 se mi zobrazí "13. květen 2016"
To potvrzuje moji úvahu z předchozího příspěvku. Pro dynamické chování UDF je dobré ji doplnit o příkaz Application.Volatile. Naopak není pravda to, co tvrdí nápověda pro funkci VBA Format o náhradních řetězcích "aaaa" pro lokální podobu dne v týdnu a "oooo" pro lokální podobu měsíce. Tyto náhradní řetězce jsou v mém Excelu nefunkční.
citovat