[英]Excel-VBA Delete Dynamic Range of Rows Based on Current Month
我正在嘗試創建一個宏,該宏根據當前月份動態刪除一系列行。
要刪除的第一行包含當前月份的名稱。 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
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.