2011-11-18 79 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