在vba中select一行问题

我以编程方式selectVBA中的行,但它给了我一个TYPE MISMATCH错误:

Rows(Str(i) & ":" & Str(i)).Select 

我究竟做错了什么?

 For i = 5 To 1000 If Worksheets("5470").Cells(i, 2) = "" Then Rows(Str(i) & ":" & Str(i)).Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Delete Shift:=xlUp Exit For End If Next i 

为什么不使用

 Rows(i).Select 

Afaik,行也可以由行号索引。

替代scheme:

 Cells(i, 1).EntireRow.Select 

你得到的错误是因为STR函数预先给数字一个空格。 所以,当我= 100,你会得到“100:100”。 你可以使用GolezTrol的方法,或者使用cstr()而不是str()。 该空间预先考虑到可能的负值。