发生错误在'inStr'中使用'Japanese – Katakana'

我是韩国数据分析师。 我使用韩版Windows 7和操作系统。

我有一个关于instr在VBA(Excel)中的一些问题。 在正常情况下, instr在“C2”处生成准确的数字,指示“A2”string处的起始点编号

这里是正常的样品: 字母

即使是韩国人和日本人(平假名)也没有问题。 请原谅,我不能更多的样本,因为我没有足够的声誉点在这个网站。

但是,当我使用日语片假名时总会出现错误错误信息在句子下面。

发生“7”运行时错误,内存不足

参考这个例子: 错误案例 - 日文 - (片假名)

我对这个只有一个错误感到尴尬,并试图解决这个问题,但仍然不知道如何。

我希望任何人都能为我提供很好的意见和解
谢谢

我无法复制这个问题,在我的英文Excel 2013 / Win7中。

不过,我以前在老版excel中看过这样的问题,最有可能的是,下面应该可以工作。

  1. 请将函数“InStr”改为“InStrb”,看看是否有效
 Sub instr() Range("C2") = InStrB(1, Range("A2"), Range("B2"), 1) End Sub 
  1. 或者你可能想在你调用InStr函数之前先做StrConv(string,vbUnicode)。
 Sub instr() Range("C2") = InStr(1, StrConv(Range("A2"), vbUnicode), StrConv(Range("B2"), vbUnicode), 1) End Sub 

无论您select什么方法,如果inputstring不是半angular字符,则返回位置值需要除以2。 (半angular字符已经在最近的excel中消失了,我认为你的excel太老了,升级它是最好的select。)