在vba中比较单元格的值
问题描述:
我试图比较一个单元格的值(总是一个数字)与for循环中的迭代变量,但由于某种原因vba说这是一个无效的调用或参数。我是新的vba,所以任何帮助将不胜感激。在vba中比较单元格的值
For i = 2 To wb1.Sheets("Development Priority List").Rows.Count
If wb1.Sheets("Development Priority List").Cells("A" & i).Value < i - 1 Then
wb1.Sheets("Development Priority List").Range("A" & i, "Z" & i).Delete
End If
Next i
答
您的IF语句不正确。更改为:
If wb1.Sheets("Development Priority List").Cells(i,1).Value < i - 1 Then
+0
+ 1你打败了我:) – 2014-10-03 15:43:05
+0
或者用'.Range'替代'.Cells'' – 2014-10-03 15:43:35
除了下面提到的@ jbarker2160。还有一件事。您必须在反向循环中删除行,否则您将错过行。 Se [THIS](http://*.com/questions/26176185/how-to-delete-rows-based-on-condition-in-vba)还有一个重点。您正在使用'.Rows.Count'这意味着它将循环通过工作表中的所有行。你为什么想这么做。我会建议使用[THIS]找到lastrow(http://*.com/questions/11169445/error-finding-last-used-cell-in-vba),然后循环直到该行。 – 2014-10-03 15:47:50
另一点:你可以使用'.Autofilter'来代替循环,它会快得多...... :) – 2014-10-03 15:48:20