excel:填充单元格时运行时错误424

时间:2017-06-19 14:22:24

标签: excel vba excel-vba

我刚刚编写了一个简单的代码,用于在名为BASE_TOTAL的工作表上从列的开头到结尾(例如,第11列)运行,并且每次找到一个空单元格时,它都会写入“Sem Substituto”在它上面。

这是我到目前为止所尝试的:

Sub FillSubs()

Dim i As Long
Dim Lastrow As Long
Dim ws1 As Worksheet

Set ws1 = Sheets("BASE_TOTAL")
Set Lastrow = ws1.Range("A" & rows.Count).End(xlUp).Row

For i = 1 To Lastrow
    If ws1.Cells(i, 11).Value = "" Then
        ws1.Cells(i, 11).Value = "Sem Substituto"
    End If
Next i

End Sub

但是当我尝试运行此代码时,它会给我:

  

运行时错误'424'需要对象

并强调这一部分:

Sub FillSubs()

虽然我不知道我的变量有什么问题,因为我真的认为我宣布它们是正确的。

我感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您的变量Lastrow很长,因此您不需要使用Set。就这样做:

Lastrow = ws1.Range("A" & rows.Count).End(xlUp).Row

答案 1 :(得分:1)

你不应该“设置”Lastrow

以下更正的代码

Sub FillSubs()

Dim i As Long
Dim Lastrow As Long
Dim ws1 As Worksheet

Set ws1 = Sheets("BASE_TOTAL")
Lastrow = ws1.Range("A" & rows.Count).End(xlUp).Row

For i = 1 To Lastrow
    If ws1.Cells(i, 11).Value = "" Then
        ws1.Cells(i, 11).Value = "Sem Substituto"
    End If
Next i

End Sub