我正在尝试创建一个宏,根据当前月份动态删除一系列行。
要删除的第一行包含当前月份的名称。 FindRow尝试查找该行,然后FindRowNumber尝试存储该行号。
要删除的最后一行是行总是323.当我尝试运行此宏时,我总是得到运行时错误91.我不确定我做错了什么因为我是VBA的新手。
此代码的相关工作表始终是工作簿中的第一个工作表。
Sub Delete_Rows()
Dim Curr_Month As String
Dim FindRow As Range
Dim FindRowNumber As Long
Curr_Month = MonthName(Month(Now()), False)
With ActiveWorkbook.Worksheets(1)
Set FindRow = .Range("A:A").Find(What:=Curr_Month, LookIn:=xlValues)
End With
Set FindRowNumber = FindRow.Row
Rows(FindRowNumber & ":323").EntireRow.Delete
End Sub
答案 0 :(得分:0)
BigBen已经确定了它,但也值得检查一下你找到了搜索词,以避免另一个错误,并且被删除的行位于正确的工作表上(注意额外的点)。
Sub Delete_Rows()
Dim Curr_Month As String
Dim FindRow As Range
Dim FindRowNumber As Long
Curr_Month = MonthName(Month(Now()), False)
With ActiveWorkbook.Worksheets(1)
Set FindRow = .Range("A:A").Find(What:=Curr_Month, LookIn:=xlValues)
If Not FindRow Is Nothing Then
FindRowNumber = FindRow.Row
.Rows(FindRowNumber & ":323").Delete
End If
End With
End Sub