在vba问题中选择一行

时间:2011-01-04 19:41:04

标签: excel vba

我正在以编程方式在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

2 个答案:

答案 0 :(得分:10)

为什么不使用

Rows(i).Select

Afaik,行也可以通过行号索引。

替代:

Cells(i, 1).EntireRow.Select

答案 1 :(得分:5)

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