VBA StrConv 与 vbNarrow 抛出运行时错误“5”

Luk*_*uke 1 excel vba strconv

我有一个与 Excel 2007 配合良好的 Excel 文件,现在我的公司将所有 PC 升级到 Windows 10 Enterprise v1809 和 Office 2016,然后出现错误runtime error 5

\n

这是我的代码,StrConv 行抛出的错误,

\n

尝试了谷歌但没有帮助,有什么办法可以帮助我解决这个问题吗?

\n
\n

更新1:

\n

我正在处理许多日语文档,因此我已将系统区域设置更改为日语(在控制面板/区域/管理/系统区域设置中)

\n

更新2:

\n

我不想转换汉字(源中的汉字),我想将双字节英文字符 ( \xef\xbc\x91\xef\xbc\xa6\xef\xbc\x8d\xef\xbc\x92\xef\xbc\xa6) 转换为单字节英文字符 ( 1F-2F)

\n
Public Sub \xe9\x9a\x8e\xe6\xae\xb5\xe5\x95\x8f\xe5\x90\x88\xe3\x81\x9b\xe6\x9b\xb8\xe4\xbd\x9c\xe6\x88\x90()\n\nDim Kaidan1 As Worksheet\nDim N_ws As Workbook\nDim WB As Workbook\n\n    Set WB = ActiveWorkbook\n\n\n    jigyousyo = Range("\xe4\xba\x8b\xe6\xa5\xad\xe6\x89\x80")\n    kaidan_name1 = StrConv(Range("\xe9\x9a\x8e\xe6\x95\xb0\xe2\x91\xa0").Value, vbNarrow)\n    kaidan_name2 = StrConv(Range("\xc5\xa0K\xe2\x80\x9d\xe2\x80\xa1A").Value, vbNarrow)\n
Run Code Online (Sandbox Code Playgroud)\n

调试信息

\n

strconv运行时错误5

\n

我的系统区域设置是日语

\n

小智 5

该函数的语法是

\n
StrConv(string, conversion, [ LCID ])\n
Run Code Online (Sandbox Code Playgroud)\n

代替

\n
StrConv(Range("\xe9\x9a\x8e\xe6\x95\xb0\xe2\x91\xa0").Value, vbNarrow)\n
Run Code Online (Sandbox Code Playgroud)\n

你可以用这个来代替。

\n
StrConv(Range("\xe9\x9a\x8e\xe6\x95\xb0\xe2\x91\xa0").Value, vbNarrow, 1041)\n
Run Code Online (Sandbox Code Playgroud)\n

1041 是日本的区域设置 ID。\n无论您的 PC 中的系统区域设置和格式设置为何,它都应该有效。

\n