2017-04-19 1 views
1

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 

Antwort

0

Sieht ok, versuchen Sie einfach Ihre Formel in diese zu ändern:

.Range("B2").Resize(Lastrow - 1).Formula = "=MONTH(A2)<>MONTH(TODAY())" 
+1

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

+0

@ rei123 du bist willkommen. Gut zu wissen, dass es behoben ist :) –