2017-02-06 23 views
0

我有一個相當簡單的宏,用文本和數字填充變量數組。它可以在我的電腦上正常工作,但不在我的兄弟們身上,電腦是新的(使用相同的文件/宏)。我檢查了excel版本,它們是相同的(2016 MSO 16.0.7571.7095)32位,文化也是相同的 - 兩個都是1033。錯誤是運行時間13 - 類型不匹配。窗戶是不同的,8.1和10 - 可能是這樣嗎?類型不匹配在一臺PC上,但不是其他 - 運行時錯誤13

這是唯一正確的文章中,我能找到的話題:I receive a type-mismatch error from VBA on one computer, but not on others. Why?

這是在其創建錯誤的代碼行:

prArray(i, 1) = CDbl(Mid(prArray(i, O), 11, 7)) 

我卡住了。任何幫助將非常感激。 謝謝

+0

'Mid(prArray(i,O),11,7)'出錯時的值是多少? – user3598756

+3

等待,在複製粘貼你的代碼段時,我得到了一個「O」(字母)而不是「0」(零)。檢查你的代碼 – user3598756

+1

隨機猜測。其中一人使用Option Explicit,其中一人不。 Windows版本幾乎肯定不是問題。 –

回答

0

經過一番沮喪之後,這是一個簡單的修復,歸結爲「在問題PC上的文化」,這裏回答如下:I receive a type-mismatch error from VBA on one computer, but not on others. Why?。對於感興趣的,我查了Excel的文化/語言使用此代碼:

Sub Detect_Language() 
    MsgBox Application.LanguageSettings.LanguageID(msoLanguageIDUI) 
End Sub 

所有這一切必須是改變PC本身在控制面板>時鐘,語言和區域>語言的語言設置,以美國英語(這在問題PC上是不同的)。