我被困在这里一段时间并且出现运行时错误13 - 类型不匹配。
Dim Qty, ItemCost, Tot
Qty = wi.Range("C" & i).Value2 'Qty
ItemCost = wi.Range("K" & i).Value2 'Item Cost
Tot = CInt(Qty) * CInt(ItemCost)
当我在C和K列单元格上尝试使用IsNumeric时,它们是真的,但我仍然遇到了这个错误。
我也尝试过:
Tot = Qty * ItemCost
和
Tot = CDbl(Qty) * CDbl(ItemCost)
和
Tot = Qty * CInt(ItemCost)
将其转换为整数或双数据类型的其他不同组合。
我还手动将col C和K格式化为Numbers。
仍然存在错误。我不知道该怎么办我错了?
答案 0 :(得分:2)
你需要 2 的东西:
考虑:
Sub dural()
Dim Qty As Long, Qty_Text As String, wi As Worksheet, i As Long
Set wi = ActiveSheet
i = 1
Qty_Text = Trim(wi.Range("C" & i).Text)
On Error GoTo wtf
Qty = CLng(Qty_Text)
On Error GoTo 0
Exit Sub
wtf:
MsgBox wi.Name & vbCrLf & i & vbCrLf & wi.Range("C" & i).Text
On Error GoTo 0
End Sub