• 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.

VBA code met een variabele filter

Status
Niet open voor verdere reacties.

dirkvandewiel

Nieuwe gebruiker
Lid geworden
5 aug 2013
Berichten
3
Hoi profs,

Ik ben bezig met een macro, die het volgende moet kunnen:

Filter in een database op 2 kolommen, de criteria voor de filter wil ik in een ander tabblad in een cel kunnen aangeven.
Vervolgens wil ik de uitkomsten kopi�ren naar een tabblad. Het meeste heb ik volgens mij kunnen verwerken, maar de verwijzing naar de cellen met de criteria krijg ik niet voor elkaar.
Dit is wat ik tot nu toe heb:

'filteren

Code:
 Sheets("Declarabele uren").Select
    Rows("1:1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$AV$2002").AutoFilter Field:=13, [COLOR="#FF0000"]Criteria1:="Urenoverzicht tbv ouders!H4"[/COLOR]
    ActiveSheet.Range("$A$1:$AV$2002").AutoFilter Field:=1, [COLOR="#FF0000"]Criteria1:="Urenoverzicht tbv ouders!H5"[/COLOR]

'kopieren
    Range("G2:G").Select
    Range(Selection, Cells(Rows.Count, 1).End(xlUp)).Select
    Selection.Copy
    Sheets("Urenoverzicht tbv ouders").Select
    Range("A18").Select
    ActiveSheet.Paste

Volgens mij ga ik mank op de rood aangegeven gedeeltes. Wie kan me helpen?

Groeten Dirk
 
Laatst bewerkt door een moderator:
Code:
Sheets("Declarabele uren").Select
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$AV$2002").AutoFilter Field:=13, Criteria1:=Range("Urenoverzicht tbv ouders!H4").Value
ActiveSheet.Range("$A$1:$AV$2002").AutoFilter Field:=1, Criteria1:=Range("Urenoverzicht tbv ouders!H5").Value

'kopieren
Range("G2:G").Select
Range(Selection, Cells(Rows.Count, 1).End(xlUp)).Select
Selection.Copy
Sheets("Urenoverzicht tbv ouders").Select
Range("A18").Select
ActiveSheet.Paste

Probeer dit eens
 
Hoi WinteE

Dank voor de poging. Ik heb het geprobeerd, maar hij loopt vast op de nieuwe code regels.
Hij geeft de volgende foutmelding:
Methode Range van Object_Global is mislukt. Heb ik nog een DIM code nodig?

Groet Dirk
 
Test het eens Dirk.

Code:
Sub hsv()
Dim wsUren As Worksheet
With Sheets("Declarabele uren")
 Set wsUren = Sheets("Urenoverzicht tbv ouders")
   .Range("$A$1:$AV$2002").AutoFilter 13, wsUren.Range("H4")
   .Range("$A$1:$AV$2002").AutoFilter 1, wsUren.Range("H5")
   .AutoFilter.Range.Offset(1).SpecialCells(2).Columns(7).Copy wsUren.Range("A18")
   .Range("$A$1:$AV$2002").AutoFilter
End With
 
Beste Harry,

Ik heb de code geprobeerd en hij brengt niet wat ik nodig heb. Ik heb geprobeerd om een xls te uploaden, maar het bestand lijkt te groot.
Ik ga morgen nogmaals rommelen. Ideeen zijn welkom.

Groet Dirk
 
Zippen, Rarren of overbodige gegevens verwijderen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan