我以编程方式在VBA中选择一行,但它在此给我一个TYPE MISMATCH错误:
Rows(Str(i) & ":" & Str(i)).Select
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
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
Run Code Online (Sandbox Code Playgroud)
Gol*_*rol 10
为什么不用
Rows(i).Select
Run Code Online (Sandbox Code Playgroud)
Afaik,行也可以通过行号索引.
替代方案:
Cells(i, 1).EntireRow.Select
Run Code Online (Sandbox Code Playgroud)
您得到的错误是因为STR函数在数字前面加了一个空格.所以,当i = 100时,你会得到"100:100".你可以使用GolezTrol的方法,或者使用cstr()而不是str().该空间预先考虑可能的负值.