作者o1o3o1o31030 (主席)
看板Office
標題[算表] VBA表單傳遞參數時ByRef引數型態不符
時間Mon Apr 10 10:14:36 2023
軟體:
Excel
版本:
365
用VBA製作了一個UserForm,用來鍵入參數
鍵入後按確認傳遞給SUB
但是一直出現ByRef引數型態不符
請版大救救我
------------------------------------------------------
Private Sub BT1_Click()
Dim P, S, D As Integer
If CBB1 = "上" Then
P = 1
ElseIf CBB1 = "下" Then
P = 8
End If
If CBB2 = "左" Then
S = 1
ElseIf CBB2 = "右" Then
S = 0
End If
If CBB3 = "前" Then
D = 1
ElseIf CBB3 = "後" Then
D = 0
End If
Call 測試(P, S, D) ------------------->這裡出現ByRef 引數型態不符
Unload UF1
End Sub
-------------------------------------------------------
Public Sub 測試(P As Integer, S As Integer, D As Integer)
msgbox P & S & D
End Sub
-----------------------------------------------------------
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.121.90 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1681092878.A.0B2.html
1F:推 waiter337: 可能傳成空白 04/10 10:40
2F:→ waiter337: 例如 非上也非下 04/10 10:42
3F:→ waiter337: 你也可以把 as integer 都給刪了 就會正常 04/10 15:37
4F:→ waiter337: 因為 測試內的 PSD 被你設定成 一定要數字 as integer 04/10 15:39
5F:→ waiter337: 若給過去的不是數字 就報錯 型態不符 04/10 15:40
6F:→ waiter337: 試過了 答案就是下面那篇回的 P 跟 S 沒有設定 04/10 15:46
7F:→ waiter337: P 跟 S 的typename 是Empty 只有D是Integer 04/10 15:46
8F:→ waiter337: 但要注意 若設定成integer 預設是0 在判斷式中 04/10 15:48
9F:→ waiter337: 要注意沒判斷到 變成0的問題 04/10 15:48