• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro met autofilter op datum en lege cellen

Status
Niet open voor verdere reacties.

rickb1977

Gebruiker
Lid geworden
2 dec 2015
Berichten
53
Hallo,

Voor mijn werk moet ik regelmatig een bestand met werknemers bewerken.
Ik wil daarbij via een macro (zie hieronder) filteren "alles na datum X" (peildatum door mij in te voeren via InputBox) en lege cellen.

Het lukt mij om te filteren op lege cellen maar niet om te filteren op de waarde die ik via de InputBox in cel B1 invoer.

Hebben jullie tips / adviezen? Alvast bedankt voor de moeite!

Groeten,

Eric



Sub Test_werknemerslijst()
'
'

'
Rows("1:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").Select
ActiveCell.FormulaR1C1 = "Peildatum"
Range("A1:B1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With

Range("B1").Select
Dim myValue As Variant
myValue = InputBox("voer peildatum in:")
Range("B1").Value = myValue

Rows("4:4").Select
Selection.AutoFilter



End Sub
 

Bijlagen

Probeer dit eens:
Code:
Sub Test_werknemerslijst()
    Dim myValue As String
    
    Rows("1:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A1").Value = "Peildatum"
    
    With Range("A1:B1").Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.399975585192419
        .PatternTintAndShade = 0
    End With
    
    myValue = InputBox("voer peildatum in:")
    Range("B1").Value = myValue
    Rows("4:4").AutoFilter
    
    ActiveSheet.Range("A4:C13").AutoFilter _
        Field:=3, _
        Operator:= _
        xlFilterValues, _
        Criteria2:=Array(0, myValue)
End Sub
 
Ik heb deze:
Code:
Sub tsh()
    Cells(1).CurrentRegion.AutoFilter Field:=3, Criteria1:= _
        ">" & Format(InputBox("Datum"), "mm-dd-yyyy"), Operator:=xlOr, Criteria2:="="
End Sub
 
edmoor en timshel beide bedankt voor jullie reactie.

Bij het antwoord van edmoor krijg ik een Fout 1004 tijdens uitvoering: Methode Autofilter van klasse Range is mislukt.

De methode van timshel krijg ik wel aan de praat. Hoe kan ik het daarbij nog zo maken dat de peildatum die in de InputBox wordt ingevoerd ook in een cel weergegeven worden? (zodat in geval van printen duidelijk is welke peildatum er gebruikt is)
 
Wat ik deed werkt goed in het document dat je plaatste, maar die van Timshel is prima :)
 
Dan zal ik ongetwijfeld iets fout gedaan hebben. Ik heb niet voor niets hulp nodig..... :d
Ik zal jouw methode nog een uitproberen en kijken wat ik niet goed doe. Bedankt!
 
probeer het zo eens.

Code:
Sub Test_werknemerslijst()

Rows("1:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1") = "Peildatum"
With Range("A1:B1").Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorAccent6
    .TintAndShade = 0.399975585192419
    .PatternTintAndShade = 0
End With

Range("B1") = InputBox("voer peildatum in:")

Cells(4, 1).CurrentRegion.AutoFilter 3, "=", xlOr, ">" & Format([b1], "mm/dd/yyyy")
End Sub
 
Laatst bewerkt:
Hallo VenA,

Dat is precies hoe ik het bedoel. Heel erg bedankt, daarmee kan ik vooruit!

Groeten,

Eric
 
Wat is het effekt van ?

Code:
Cells(4, 1).CurrentRegion.AutoFilter 3, "=>" & Format(activesheet.[b1])
 
Die laatste optie wordt gezien als "is gelijk aan" en geeft daarom niet de gewenste uitkomst.

"=", xlOr, ">" geeft wel de juiste uitkomst.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan