运行计时器错误13 VBA宏Excel'类型不匹配'

时间:2015-12-23 14:58:36

标签: excel vba excel-vba

尝试做一些简单的单元格计数,而我正在使用的if语句会出现运行时错误。

public function getIndex(Request $request) { $in=$request->get('id'); // ... } (整数)等于h

0(字符串)等于y(这就是它的数量)

我问这个单元格是不是"LD"然后运行计数

0是否计入(E6:E12)

E15

2 个答案:

答案 0 :(得分:1)

错误很简单,您使用<>运算符将字符串值"E15"与整数值进行比较,这是VBA中的无意义操作,因为字符串无法直接与数字进行比较。

我相信您的意图是获取单元格E15的,然后将其与零进行比较。为此,您的代码应如下所示:

Dim e15CellValue
e15CellValue = Cells.Item( 15, "E" ).Value

VBA具有“默认属性”的概念,因此可以缩写为:

Cells( 15, "E" )

所以:

If Cells( 15, "E" ) <> h Then
     ' do stuff
End If

答案 1 :(得分:1)

你可以这样做:

Sub Test()

    Const h As Integer = 0
    Const y As String = "LD"

    If Range("E15").Value <> h Then
        Range("E15") = Application.WorksheetFunction.CountIf(Range("E6:E12"), y)
    End If

End Sub