當前位置:首頁 » 編程軟體 » vba編譯錯誤數組維度已定義

vba編譯錯誤數組維度已定義

發布時間: 2023-10-24 18:12:51

Ⅰ vb,求問一個小問題,這個代碼運行以後,出現一個「編譯錯誤:缺少數組或者用戶定義類型」這是怎麼回事

.

我覺得你寫的有些不太妥的地方

1,arr1=Array(1,2,3,4)這個是用來定義數組的下標用的,不是用來賦值的.我這樣寫,定義的就是一個4維數組.你現在只需要一維四個元素,所以只要arr1=array(4)就OK了.

2,數組賦值應該像樓上那位仁兄一樣,

3,傳值,為什麼要加小括弧,我印象中直接把變數名放入括弧就OK了?

4,我用word的VBA測試的,看不到print結果,所以改了msgbox.

5,VB已死,沒必要研究了,如果想學桌面編程,試下其它的吧.比如C,C++,C#,java之類

Ⅱ VBA子函數輸入是數組該怎麼寫提示錯誤(編譯錯誤:類型不匹配,缺少數組或用戶定義類型)


把LUDCMP的定義貼出來看看。
——————————
你還是沒有把LUDCMP的定義貼出來啊。

我估計是你的LUDCMP過程參數寫得有問題。
Sub LUDCMP(A(), N, INDX(), D)
如果你像上面那麼寫就肯定有問題
你要把類型指定清楚:
Sub LUDCMP(A() as Double, N as Integer, INDX() as Integer, D as Integer)
--------------------------
哦,你那樣定義的啊。

我發現貌似是你的一個輸入錯誤:
Call LUDCMP(al#(), N, INDX%(), p)
這里的al#沒有定義。。。綜觀你的整個函數,沒找到al的定義,是你不小心把a#()打成al#()了嗎?

--
另外建議樓主以後所有變數在定義時都明確指明類型以減少出錯的幾率。
還有就是INDX%()這種寫法已經不推薦了,應該用INDX() As Integer。其它的依此類推。。

Ⅲ Excel VBA編譯錯誤:類型不匹配:缺少數組或用戶定義類型

FunctionA_V_E(ary()AsVariant)
arr=Application.Transpose(Application.Transpose(ary))
Dimsumtemp
ForEachxInarr
n=n+1
sumtemp=sumtemp+x
Next
A_V_E=sumtemp/n
EndFunction

FunctionSt_De(ary()AsVariant)
Dimarr()
arr=Application.Transpose(Application.Transpose(ary))
DimX_ave
X_ave=A_V_E(arr)
Dimsum_x
ForEachxInarr
n=n+1
sum_x=sum_x+(x-X_ave)^2
Next
St_De=Sqr(sum_x/(n-1))
EndFunction

Subtest2()
Dimarr()
Dimresault
arr=Array(1,2,3,4)
resault=St_De(arr)
Debug.Printresault
EndSub

熱點內容
python實現svm 發布:2025-01-26 15:24:25 瀏覽:381
易語言寫ip全局代理伺服器 發布:2025-01-26 15:04:01 瀏覽:668
gm命令在哪個文件夾 發布:2025-01-26 15:03:12 瀏覽:307
javadate類 發布:2025-01-26 14:58:54 瀏覽:352
領航s1配置怎麼樣 發布:2025-01-26 09:58:10 瀏覽:763
公司區域網搭建伺服器搭建 發布:2025-01-26 09:16:56 瀏覽:433
android裁剪圓形圖片 發布:2025-01-26 09:05:56 瀏覽:411
小貸源碼 發布:2025-01-26 08:20:58 瀏覽:536
更換電腦名登錄伺服器 發布:2025-01-26 07:56:52 瀏覽:240
後台phpjava 發布:2025-01-26 07:12:34 瀏覽:657