erstens, Entschuldigung für mein Englisch. Ich arbeite an etwas sehr ähnlich zum Beitrag Macro - delete rows based on dateVBA Monat() Funktion
aber meine Daten sind in umgekehrter Reihenfolge, sortieren sie von neuesten zu ältesten.
Der von Dan Wagner bereitgestellte Code funktionierte nicht für mich, als wenn ich den Code ausführte, tat es nichts.
Ich habe hier einen Code, der gut funktioniert, wenn ich manuell den Monat auf weniger als einen Wert festlegen. .Range("B2").Resize(Lastrow - 1).Formula = "=AND(MONTH(A2)<>4)"
Ich möchte den Code Zeilen löschen, wenn der Monat des Datums in Spalte A nicht der aktuelle Monat ist. So versuchte ich den Code mit .Range("B2").Resize(Lastrow - 1).Formula = "=AND(MONTH(A2)<>Month(Date))"
, aber es löschte nur meine Überschriften.
Also ich möchte wissen, ob es etwas gibt, das den Monat ändern kann (Datum) Funktion, um zu nummerieren? oder wenn es andere Möglichkeiten gibt, dies zu tun? siehe meine vollständigen Code unter
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
Thank you! Ich habe es tatsächlich mit dem Code versucht, und es hat nicht funktioniert, und Ihre Antwort hat mich einfach dazu gebracht, meinen Code zu überprüfen und zu finden, dass ")" fehlte !! jetzt funktioniert es gut !! :) – rei123
@ rei123 du bist willkommen. Gut zu wissen, dass es behoben ist :) –