作者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/cn.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