如何知道单元格的数据types

我一直卡在这里一会儿,并得到运行时错误13 – types不匹配。

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) 

以及将其转换为整数或双数据types的其他不同组合。

我也手动格式化Col C和K作为数字。

仍然错误仍然存​​在。 我不知道该怎么做我错了?

你需要2件事情:

  • 一个更好的方法来做一个数字variables
  • 一个更好的方法来看看发生了什么问题

考虑:

 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 

在这里输入图像说明

    Interesting Posts