excel - 显示 UDF 结果
问题描述
我编写了这段代码来删除显示为 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
但在单元格中它不显示我确定这是一个简单的调整。
解决方案
非常简单的调整,只需将结果通过标题传回:
UniChrLatin = xStr
推荐阅读
- reactjs - 带有POST的json服务器假rest api
- typescript - 尝试访问枚举的标签
- html - 同行等高等对齐的flexbox问题(产品卡片)
- mongodb - MySQL查询到猫鼬查询
- android - LazyColumn 通知项目的修改
- discord - discord.py 机器人的问题
- perl - perl 在粘贴前修改剪贴板
- java - 当数据库中已有记录时,ActionListener 不会在“Bean View”中调用操作(Primefaces + Hibernate + JPA)
- bash - 循环时只计算一行中的一个单词
- python - 从字典创建数据框给了我一个无法广播的错误