1
首先,道歉爲我的英語。我工作的東西非常類似於郵政Macro - delete rows based on dateVBA月()函數
但我的日期數據是相反的順序,它從最新到最舊排序。
由Dan Wagner提供的代碼沒有爲我工作,因爲當我運行代碼它沒有做任何事情。
我有一個代碼在這裏工作正常,如果我手動設置月份小於值。 .Range("B2").Resize(Lastrow - 1).Formula = "=AND(MONTH(A2)<>4)"
如果A列中的日期月份不是當前月份,我想讓代碼刪除行。所以我試了.Range("B2").Resize(Lastrow - 1).Formula = "=AND(MONTH(A2)<>Month(Date))"
的代碼,但它只刪除我的標題。
所以我想知道是否有任何可以改變月份(日期)功能的數字?或者如果還有其他的最好的方法呢? 看到我下面
Sub ProcessData2()
Dim rng As Range
Dim Lastrow As Long
Dim i As Long
With ActiveSheet
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Columns(2).Insert
.Range("B1").Value = "tmp"
.Range("B2").Resize(Lastrow - 1).Formula = "=AND(MONTH(A2)<>Month(Date))"
Set rng = .Range("A1").Resize(Lastrow, 2)
rng.AutoFilter Field:=2, Criteria1:="=TRUE"
On Error Resume Next
Set rng = .Range("B2").Resize(Lastrow - 1).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rng Is Nothing Then rng.EntireRow.Delete
.Columns(2).Delete
End With
End Sub
謝謝!我實際上已經嘗試了代碼,它並沒有工作,你的回覆只是讓我重新檢查我的代碼,並發現有「)」錯過!現在它的工作很好! :) – rei123
@ rei123歡迎您。很高興知道它是固定的:) –