2011-11-18 122 views
2

与Excel播放和与此错误想出了斯普利特和VBA.Split

Sub Split() 

Dim txt As String 
Dim x As Variant 
txt = Sheets("Raw").Cells(2, 2).Value 
MsgBox (txt) 
x = Split(txt, ",") 
For Each i In x 
MsgBox (i) 
Next 

给我两所很多争论的错误分割功能

然而

Sub Split() 

Dim txt As String 
Dim x As Variant 
txt = Sheets("Raw").Cells(2, 2).Value 
MsgBox (txt) 
x = VBA.Split(txt, ",") 
For Each i In x 
MsgBox (i) 
Next 

作品只是精细?

所以发生了什么,我相信我已经使用拆分之前与需要vba。字首?

干杯

亚伦

回答

8

不是真正熟悉的Excel VBA,但看着代码片段你贴我觉得VBA解释可能得到困惑。

您有Sub Split(),下面的代码是,我假设,该功能?

当它试图执行Split(txt, ",")时,它很可能认为您指的是您的Split函数,它没有参数,但是您传递了两个参数。

使用VBA.Split解决了参考混淆问题,因为您告诉它在VBA名称空间中使用Split方法。

+1

Dohhhhhhhhhhhhhhhhhhh !!!!谈谈现在感觉傻瓜! ;)你知道这可能就是它... :) – DevilWAH

+4

+1这是答案好。永远不要用现有的函数名称命名udf和sub - 它令用户感到非常困惑:) – aevanko

+0

我只是想测试一小段代码,这就是为什么愚蠢的子名称。 Doh,Doh和Doh再次。 :) – DevilWAH