VB型別不匹配的原因,vba的型別不匹配,為什麼?

時間 2023-04-18 17:48:02

1樓:匿名使用者

xarray, yarray, darray並沒有宣告為陣列,而**中卻將其當作陣列來使用,肯定會出錯。。

修改方案有兩個:

dim xarray(5), yarray(5), darray(5) as variant '直接宣告為陣列並定義好陣列的大小。

dim i as integer

private sub command1_click() 畫圓。

for i = 0 to 5

xarray(i) =val(text1(i).text)

yarray(i) =val(text2(i).text)

darray(i) =val(label23(i).caption)

(xarray(i), yarray(i)),darray(i) /2, rgb(0, 0, 0)

next i

end sub

dim xarray(),yarray(),darray() as variant '宣告為陣列。

dim i as integer

private sub command1_click() 畫圓。

redim preserve xarray(5), yarray(5), darray(5) as variant '再加上這句定義陣列的大小。

for i = 0 to 5

xarray(i) =val(text1(i).text)

yarray(i) =val(text2(i).text)

darray(i) =val(label23(i).caption)

(xarray(i), yarray(i)),darray(i) /2, rgb(0, 0, 0)

next i

end sub

vba的型別不匹配,為什麼?

2樓:侯玉川

vba中型別不匹配,有可能對比,或運算時使用了兩種不同的型別,導致無法匹配。

例如你拿一個object物件對比一個text文字,就無法匹配。

如在excel中,一個工作表物件和一個數值相加,就會提示型別不匹配。

還有就是,你拿一個數字和一個文字相乘這樣的,也會提示錯誤。

好好檢查一下吧。物件都是有屬性的。例如你要比較一個物件的名稱是不是與一個文字相同,則可以使用物件屬性提取物件名稱再與文字比較。

例如if = 新建檔案" then……end if

這樣是可以的。

如果object是個物件,你卻使用下邊的語句if object = 新建檔案" then……end if

這就是錯了,型別不匹配。

手機打字不易,如果明白了,請給點個贊。

3樓:勒粵嘟呀戲

**截圖出來,幫你查原因。

vb符串陣列型別不匹配,vb 字串陣列型別不匹配

首先你這個是一維陣列,如果只是想顯示陣列內容應該這樣寫 private sub form load dim i as integer i 0 dim text 2 text 0 第一句 text 1 第二句 text 2 第三句 for i 0 to ubound text msgbox text ...

vb過程宣告與同名事件或過程的描述不匹配

一般的命令按鈕單擊事件應該是 private sub command1 click 你的裡面有 index as integer 說明應該 是控制元件陣列,但 是如果你的按不是控制元件陣列就會有你說的錯誤 過程宣告與同名事件或過程的描述不匹配 可以去掉index as integer 但是你裡面的 ...

vba中如何呼叫cdll中的類,VBA中如何呼叫C dll中的類

首先,要在excel中呼叫dll的函式 visual studio版 extern c declspec dllexport double stdcall gcc mingw 版 extern c double add double a,double b attribute stdcall doub...