今天我用这个代码玩了一个多小时,终于让它上班了。有人可以解释为什么我必须在此代码生效之前声明我的shopOrder变量吗?如果我省略“Dim shopOrder as Long”行,shopOrder是什么类型的变量?
Dim shopOrder As Long
Dim lastUsedRow As Long
lastUsedRow = wsjobs.Cells(Rows.Count, "A").End(xlUp).Row
shopOrder = 15150664
If Not IsError(Application.Match(shopOrder, Range("E1:E" & lastUsedRow), 0)) Then
MsgBox ("This shop order already exists!")
Exit Sub
End If
非常感谢您的帮助!
谢谢。
答案 0 :(得分:4)
如果您查看VBA数据类型,您会看到 long 长度为4个字节,涵盖范围从-2,147,483,648到2,147,483,647。
可能你的变量的类型为 int ,长度为2个字节,仅涵盖-32,768到32,767。
您分配给它的价值大于32,767。