我刚刚编写了一个简单的代码,用于在名为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()
虽然我不知道我的变量有什么问题,因为我真的认为我宣布它们是正确的。
我感谢任何帮助。
答案 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