我已编写此代码,以删除显示为unicode的非欧洲chrs,并将其更改为与欧洲相同的名称。该公式有效,但结果未出现在单元格中。你能帮忙吗?
Function UniChrLatin(Rg As Range) As String
Dim xStr As String
Dim I As Integer
xStr = Trim(Rg.Value)
KeepChrs = Left(xStr, 0)
For I = 2 To Len(xStr)
If (Mid(xStr, I, 2)) = "\u" Then
Readcode = (Mid(xStr, I, 6))
CorrectUnicode = Replace(Readcode, "\u", "U+")
NormalLetter = Application.WorksheetFunction.VLookup(CorrectUnicode, Worksheets("Unicode").Range("A1:E1000"), 5, False)
NormalLetter2 = Mid(NormalLetter, 2, 1)
xStr = KeepChrs & Replace(xStr, (Mid(xStr, I, 6)), LCase(NormalLetter2))
Debug.Print xStr
Else
xStr = xStr
End If
Next
End Function
所以最初的ZonguldakK \ u00f6m \ u00fcrspor
在Debug.print中正确显示为ZonguldakKomurspor
但是在单元格中它没有显示,我确定这是一个简单的调整。
答案 0 :(得分:1)
非常简单的调整,只需将结果通过标头传回即可。
UniChrLatin = xStr