當前位置:首頁 » 編程軟體 » 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

熱點內容
hp存儲擴容 發布:2024-11-17 23:29:16 瀏覽:569
在ftp中put表示什麼 發布:2024-11-17 23:29:12 瀏覽:383
mvc多文件上傳 發布:2024-11-17 23:13:56 瀏覽:155
玩游戲硬碟緩存32m 發布:2024-11-17 23:03:42 瀏覽:525
藍光存儲系統 發布:2024-11-17 23:03:41 瀏覽:436
地平線4提示配置低於最低怎麼辦 發布:2024-11-17 22:54:38 瀏覽:611
注冊銀行卡賬戶密碼填什麼 發布:2024-11-17 22:54:35 瀏覽:537
java壓縮上傳圖片 發布:2024-11-17 22:26:59 瀏覽:627
plc編程課件 發布:2024-11-17 22:18:23 瀏覽:469
我的世界伺服器信號一直在檢測 發布:2024-11-17 22:09:52 瀏覽:547