まず、私の英語のための謝罪。私は非常にポストに似た何かに取り組んでいます。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よろしくお願いします。それが固定されていることを知って良い:) –