我在尝试找出为什么下面的代码给我一个Error '13'
时遇到了很多麻烦。难道我做错了什么?For循环中的If语句中的类型不匹配
Sub summary()
Dim last As Variant
lastrow = Sheet4.Range("g" & Rows.Count).End(xlUp).Row
c = 0
For x = 2 To lastrow
If Sheet4.Cells(x, 10) = Sheet4.Cells(x, 12) Then
c = c + 1
End If
Next x
End Sub
我的建议是将'Sheet4'换成'Sheets(“Sheet4”)''。如果你想参考你在工作簿中看到的工作表名称,应该总是使用后一个选项,因为“Sheet4”光秃秃的不一样。 – ZygD
您将变量'last'设置为变体数据类型,但永远不会使用它。如果你打算用它来保存lastrow变量,除了改变变量名称以匹配外,我会使用长数据类型,而不是变化较慢的数据类型,并占用更多的内存。 – DyRuss
@DyRuss - 也许他使用它,因为在原始代码版本中没有'End Sub'。 – ZygD