我正在以编程方式在VBA中选择一行,但它在此上给我一个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
答案 0 :(得分:10)
为什么不使用
Rows(i).Select
Afaik,行也可以通过行号索引。
替代:
Cells(i, 1).EntireRow.Select
答案 1 :(得分:5)
您得到的错误是因为STR功能在数字前面加了一个空格。 所以,当i = 100时,你会得到“100:100”。 你可以使用GolezTrol的方法,或者使用cstr()而不是str()。 该空间预先考虑可能的负值。