gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:09:13 26 4
gpt4 key购买 nike

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

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

这是正常样本: Alphabet

即使是韩语、日语(平假名)也没有问题。请原谅我无法提供更多 sample 因为我在这个网站上没有足够的声誉点。

但是,当我使用日文片假名时,总是会出现错误错误消息如下。

'7' runtime error has occurred, Not enough memory

引用这个示例: The error case - Japanese - (Katakana)

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

我希望有人给我好的意见和解决方案。
谢谢

最佳答案

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

但是,我以前在旧的 Excel 版本中见过这样的问题,最有可能的是,下面的方法应该可以工作。

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

    无论您选择哪种方法,如果输入字符串不是半角字符,则返回位置值需要除以二。 (最近的excel已经没有半角字符了,估计你的excel太旧了,升级是最好的选择。)

    关于vba - [VBA][excel]在 'Japanese - Katakana'中使用 'inStr'时发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46152417/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com