找不到运行时错误 13 原因



我正在尝试设置一个具有双重标准的简单计数器,而我被

停止了

运行时错误13

如您所见,我有多个计数器,所有计数器都是整数,我希望它们计算每个命中的锁定,具体取决于D和A列的值。)如果它很重要:D列中的文本是通过其他两个列中通过日期 - 帕里森生成,但格式为文本)。

Private Sub Workbook_Open()
Dim lr, i, k, a, b, c, d, e, f, g, h, j, l, m, n, o, p, q, r, s As Integer
a = b = c = d = e = f = g = h = j = l = m = n = o = p = q = r = 0
Worksheets("overdue").Activate
lr = Range("D" & Rows.Count).End(xlUp).Row
k = 1
For i = 1 To lr
If Cells(i, "D").Value = "OVERDUE" And Cells(i, "A") Like "*φίλτρου*" Then
a = a + 1
ElseIf Cells(i, "D").Value = "OVERDUE" And Cells(i, "A") Like "*Λιπαντικού*" Then
b = b + 1
k = k + 1
End If
Next i

我什至试图将工作表名重新定位在单元格式上,例如

If Worksheets("overdue").Cells(i, "D").Value = "OVERDUE" And Worksheets("overdue").Cells(i, "A") Like "*ößëôñïõ*" Then

,但似乎没有帮助。有人有建议吗?我忘了补充说,调试器显示了if落后的行,因此第一个计数器的语句。

我也知道,如果我从根本上更改代码并尽可能简化它,例如

 Sub testcounter()
 Dim cell As Range
 Dim a As Integer
 For Each cell In Worksheets("Sheet2").Range("D1:D3500")
 If cell.Value = "1" Then
 a = a + 1
 End If
 Next
 MsgBox a
 End Sub

它仍然给出

错误13

在if-Statement的第一行。

  1. s外,所有变量不是Integers。

  2. 所有变量(是否Integer s)自动初始化为零。

  3. a = b = c = d = e = f = g = h = j = l = m = n = o = p = q = r = 0提出逻辑比较,即检查了r是否等于0,然后将此比较的结果与q的结果进行了比较。

Dim a, b, c, d As Integer '<< only d is integer...
a = b = c = d = 0
Debug.Print "a", a
Debug.Print "b", b
Debug.Print "c", c
Debug.Print "d", d

输出:

a             True
b             
c             
d              0 

最新更新