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

autofilter in macro

Status
Niet open voor verdere reacties.

brandernl

Gebruiker
Lid geworden
19 okt 2004
Berichten
445
Het is begrotingstijd. Ik heb een groot Excelbestand dat ik in stukken moet knippen om naar de verschillende leidiggevenden te sturen, die moeten invullen wat ze volgend jaar willen gaan uitgeven aan middelen.
Ik heb het bijgaande bestand tot de essentie teruggebracht.

Ik zet een autofilter op kolom B (kostenplaats), vervolgens heb ik MijnMacro geschreven die het uitgefilterde naar een nieuw bestand kopieert, een naam geeft enz.
Dan kies ik een volgende waarde uit het autofilter in kolom B, en voer mijn MijnMacro weer uit.
Nu wil ik graag het stukje wat ik nu met de hand doe, dus steeds een andere waarde in het autofilter, ook door een macro laten uitvoeren.
Op tabblad "lijst" staan de waarden voor de kostenplaatskolom (B).
Ik kan de selctiecriteria wel in MijnMacro opnemen, maar dan moet ik dat voor elke waarde doen, veel werk dus.
Hoe zet je nu in de criteria voor autofilter in de macro, zo dat alle waarden doorlopen worden.
Dank is groot
 
Je kunt alleen gezipte files plaatsen..

Ik ga ervanuit dat je maximaal 50 kostenplaatsen hebt.
Je zult zelf nog even het kopeieren etc moeten toeveogen

Probeer onderstaande code eens:

Sub Macro2()
Dim lijst(50)
'ik plaats de lijst in Lijst
Dim Rij, Kolom
Rij = 1
Kolom = 1
Do While Sheets("lijst").Cells(Rij, Kolom).Value <> ""
lijst(Rij) = Sheets("lijst").Cells(Rij, Kolom).Value
Rij = Rij + 1
Loop
'Nu kun je de lijst gebruiken voor bewerkingen
Dim Teller
Teller = 1
Sheets("Blad1").Select
Do While Teller < Rij
Selection.AutoFilter Field:=1, Criteria1:=lijst(Teller)
'plaats hier de overige handelingen, zoals het kopieeren
Teller = Teller + 1
Loop
End Sub

Succes

John
 
Dank voor je snelle antwoord. Ik ga het proberen; vanmiddag niet veel tijd meer, maar ik laat weten of het al of niet gelukt is.
 
Phantastisch!
Binnen één minuut, wat met de hand toch nog een kwartiertje kostte. (Vorig jaar is iemand er een hele dag mee bezig geweest) en saai..............
Het ontwikkelen kost natuurlijk ook tijd maar ik hoop dat ie nog op meer plaatsen bruikbaar is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan