Excel vba拆分功能不起作用

Posted

技术标签:

【中文标题】Excel vba拆分功能不起作用【英文标题】:Excel vba split function not working 【发布时间】:2017-10-25 16:25:16 【问题描述】:

我试图在一个字符串中出现多个字符。它应该工作,但它没有。

Function countLetter(letter As String, secretWord As String)
    MsgBox (Split(secretWord, letter).Length)
    countLetter = Split(secretWord, letter).Length - 1
End Function

这里有什么问题?

【问题讨论】:

【参考方案1】:

Split 没有.Length 属性。使用UBound 对数组中的元素进行从零开始的计数。

Function countLetter(letter As String, secretWord As String)
    MsgBox UBound(Split(secretWord, letter)) + 1
    countLetter = UBound(Split(secretWord, letter))
End Function

【讨论】:

@Ans 与拆分无关,但请注意传递给 MsgBox 函数的 Message 参数周围缺少括号;每当你调用一个过程而不将它的返回值捕获到一个局部变量中时,你不应该在参数周围加上括号。这一天或一天​​给你带来麻烦。

以上是关于Excel vba拆分功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA UDF 操作字符串不起作用

VBA Dir 函数在 Excel 2010 上不起作用

AppleScriptTask 命令在 Excel 2016 for Mac VBA 中不起作用

Excel中的VBA - 如果语句计数器不起作用

使用 VBA 最大化的 Excel 求解器不起作用

插入代码时,打开事件中的 Excel 2010 vba EnableEvent 不起作用