Option Explicit
Const smal = "224;225;226;227;232;233;234;236;237;242;243;244;245;249;250;253;259;297;361;417;432;7841;7843;7845;7847;7849;7851;7853;7855;7857;7859;7861;7863;7865;7867;7869;7871;7873;7875;7877;7879;7881;7883;7885;7887;7889;7891;7893;7895;7897;7899;7901;7903;7905;7907;7909;7911;7913;7915;7917;7919;7921;7923;7925;7927;7929"
Const slag = "192;193;194;195;200;201;202;204;205;210;211;212;213;217;218;221;258;296;360;416;431;7840;7842;7844;7846;7848;7850;7852;7854;7856;7858;7860;7862;7864;7866;7868;7870;7872;7874;7876;7878;7880;7882;7884;7886;7888;7890;7892;7894;7896;7898;7900;7902;7904;7906;7908;7910;7912;7914;7916;7918;7920;7922;7924;7926;7928"
'------------------------------------
Function UcaseUNI(Ch As String)
Dim i, j, kytu
Dim ch1, ch2
ch1 = Split(smal, ";")
ch2 = Split(slag, ";")
Ch = Trim(Ch)
For i = 1 To Len(Ch)
kytu = Mid(Ch, i, 1)
For j = 0 To UBound(ch1) - 1
If kytu = ChrW(ch1(j)) Then
kytu = ChrW(ch2(j))
Exit For
Else
kytu = UCase(kytu)
End If
Next
UcaseUNI = UcaseUNI & kytu
Next
End Function