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

Advancedfilter kopieer uitkomst naar ander workbook

Status
Niet open voor verdere reacties.

wouter1983

Gebruiker
Lid geworden
8 mei 2009
Berichten
38
Ik hoop jullie hulp te krijgen bij het volgende script:

Code:
Sub 2015bijwerken()
'
' bijwerken Macro
'
Dim wSource As Workbook
Dim wTarget As Workbook
Set wSource = Workbooks.Open("C:\voorbeeld\overzicht.xls")
Set wTarget = ThisWorkbook

    'Fix date in column E
        Range("F1").EntireColumn.Insert
        Columns("E:E").TextToColumns Destination:=Range("E1"), DataType:=xlFixedWidth, _
            FieldInfo:=Array(Array(0, 1), Array(10, 1)), TrailingMinusNumbers:=True
        Range("F1").EntireColumn.Delete
        Sheets("overzicht").Range("E:E").NumberFormat = "dd/mm/yyyy"
    
    'Add filter and copy sheet
        wSource.Sheets("overzicht").Range("$A$3:$U$65536").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=wTarget.Sheets("Aanvragen 2015 Filter").Range("A1:U2"), Unique:=False, CopyToRange:=wTarget.Sheets("Aanvragen 2015").Range("$A$1:$U$65536")
        

    'Extend column V
        wTarget.Sheets("Aanvragen 2015").Range("V1").AutoFill Destination:=Range("V1:V65536")
    
    'End
        wTarget.Sheets("Aanvragen 2015").Range("A1").Select
End Sub

Het script heb ik opgeslagen in de wTarget workbook. Deze open ik in eerste instantie en vanuit hier start ik de macro.
Ik heb het filter wat ik uitvoer op de wSource workbook express in de wTarget workbook gezet omdat het wSource bestand regelmatig wordt vernieuwd en een export betreft. Ik wil niet elke keer opnieuw het filter aanmaken dus heb ik het zo opgelost.

Op dit moment loopt het script vast bij de stap "Add filter and copy sheet" ik krijg een foutmelding (zie bijlage) m.b.t. dat ik niet mag verwijzen naar een werkmap die groter is dan 256 kolommen of 65536 rijen. Wat ik niet begrijp want het script run ik vanuit een xlsm file. En de source werkmap is een .xls

Wat doe ik fout?
 

Bijlagen

  • foutmelding script.PNG
    foutmelding script.PNG
    15,3 KB · Weergaven: 65
Wat ik zou proberen is het bereik van het Source workbook te kopiëeren naar een tijdelijk werkblad in Target, het filter uitvoeren, resultaten wegschrijven en tijdelijk werkblad verwijderen.
De fout ontstaat mi nu omdat je met comptabiliteitsissues zit nu.
 
Hoi Rudi,

Bedankt voor je vlotte reactie.
Ik had gehoopt dat deze extra stap niet nodig zou zijn omdat ik dan meerder malen moet kopieren. Ivm het aantal rows van de source sheet (zeker zonder filter) had ik gehoopt dit te voorkomen om de snelheid er een beetje in te houden.

Alhoewel ik een mogelijke oplossing heb sta ik nog wel open voor suggesties waarbij ik de kopieer stap zoals Rudi voorstelt kan overslaan.
Tevens omdat ik verwacht deze functie in veel meer sheets nodig te gaan hebben.

Zou het sneller zijn om de resultaten van het Advanced filter eerst weg te schrijven naar een temp sheet in de Source workbook en dan deze waardes kopiëren naar de Target workbook? Of is het issue juist dat de filter voorwaarden in een ander workbook staan? Of kun je met de Advanced filter gewoon niet tussen workbooks kopieren?


Ik gebruik overigens Excel 2010.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan