我找不到任何文檔來支持我的發現,但這就是我在這裏的原因。在我的模塊中,我聲明瞭多個全局數組本身並不是一個問題,但似乎正在發生的是如果我嘗試在一個語句中聲明多個數組,只有第一個被初始化。任何人都可以證實這是行爲和/或指向我的文檔,支持這?Excel VBA全局變量
當我進入的代碼,如果我找ARR1它的定義不工作陳述
Global arr1, arr2, arr3
的例子可以找到。如果我查找arr2或arr3,我會收到一條消息,指出「無法識別cusor下的標識符」。如果我將arr3移動到一條新線並如此剝離:
Global arr1, arr2
Global arr3
現在已經認識到了。所以我不知道這是已知的行爲,錯誤還是其他。
'全球A,B,C'是好的,所有3個應該沒有問題定義,您需要擴展你的例子。您可以將'option explicit'添加到模塊的頂部;這會導致VBA在您嘗試使用未聲明/超出範圍變量時引發錯誤。 (它最好定義一個類型'全局a()作爲字符串,b()作爲字符串...') –
在這兩種情況下,所有變量''arr1'',''arr2''和''arr3'' if聲明你指定的方式應該工作。所有這些都是「變體」類型。如果您不明確聲明任何類型,則所有變量都變爲「TypeOf」變體默認值。 – Cylian
我也可以如上所述聲明變量,並在相同模塊和其他模塊中的以下代碼中查看它們的定義。我第二次由@亞歷克斯推薦。使用Option Explicit。關於全局變量的一件事是,它們不能在類中聲明 - 它不會被編譯(但這顯然不是你的問題)。 –