簡體   English   中英

Excel-VBA基於當前月份刪除行的動態范圍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM