[VBA] [excel]在'inStr'中使用'Japanese - Katakana'时发生错误

时间:2017-09-11 09:32:39

标签: excel vba excel-vba

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

我在VBA(Excel)中遇到instr的问题。 在正常情况下, instr在“C2”处生成准确数字,表示“A2”字符串

处的起始点编号

这是正常样本: Alphabet

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

但是,当我使用日语 - 片假名时总会出现错误 错误消息低于句子。

  

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

参考此示例: The error case - Japanese - (Katakana)

我对这只有一个错误感到尴尬 并试图解决这个问题, 但还是不知道怎么做。

我希望有人建议我提出好的意见和解决方案 感谢

1 个答案:

答案 0 :(得分:0)

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

但是,我之前在旧的excel版本中看到过这样的问题,并且很可能,下面应该可以工作。

  1. 请更改功能" InStr"到" InStrb",看看它是否有效
  2. Sub instr()
    Range("C2") = InStrB(1, Range("A2"), Range("B2"), 1)
    End Sub
    
    1. 或者您可能希望在调用InStr函数之前先执行StrConv(string,vbUnicode)。
    2. Sub instr()
      Range("C2") = InStr(1, StrConv(Range("A2"), vbUnicode), StrConv(Range("B2"), vbUnicode), 1)
      End Sub
      

      无论您选择何种方法,如果输入字符串不是半宽字符,则返回位置值需要除以2。 (在最近的excel中,半宽字符已经消失,我认为你的excel太旧了。升级它是最好的选择。)