[算表] VBA表單傳遞參數時ByRef引數型態不符

看板Office作者 (主席)時間1年前 (2023/04/10 10:14), 編輯推噓1(108)
留言9則, 1人參與, 1年前最新討論串1/2 (看更多)
軟體: 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://www.ptt.cc/bbs/Office/M.1681092878.A.0B2.html

04/10 10:40, 1年前 , 1F
可能傳成空白
04/10 10:40, 1F

04/10 10:42, 1年前 , 2F
例如 非上也非下
04/10 10:42, 2F

04/10 15:37, 1年前 , 3F
你也可以把 as integer 都給刪了 就會正常
04/10 15:37, 3F

04/10 15:39, 1年前 , 4F
因為 測試內的 PSD 被你設定成 一定要數字 as integer
04/10 15:39, 4F

04/10 15:40, 1年前 , 5F
若給過去的不是數字 就報錯 型態不符
04/10 15:40, 5F

04/10 15:46, 1年前 , 6F
試過了 答案就是下面那篇回的 P 跟 S 沒有設定
04/10 15:46, 6F

04/10 15:46, 1年前 , 7F
P 跟 S 的typename 是Empty 只有D是Integer
04/10 15:46, 7F

04/10 15:48, 1年前 , 8F
但要注意 若設定成integer 預設是0 在判斷式中
04/10 15:48, 8F

04/10 15:48, 1年前 , 9F
要注意沒判斷到 變成0的問題
04/10 15:48, 9F
文章代碼(AID): #1aCt4E2o (Office)
文章代碼(AID): #1aCt4E2o (Office)