• 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 filtert te goed ....

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Kan iemand helpen met volgend probleem ? Ik schreef een makro om uit 2 kolommen van een bestand waarden te filteren. 12de kolom wordt gefilterd op onwaar en 7de kolom op lege cellen. Resultaat is telkens een blanko pagina. Wanneer ik manueel dan nog eens in kolom 7 op lege cellen klik (terwijl dat al geselechteerd is door de makro), dan verschijnen plots de gevraagde cellen .

Mijn makro :

Sub test()
'
' test Macro
' De macro is opgenomen op 28/06/2004 door Stefano.
'

'
Workbooks.Open Filename:="H:\limits\x_rek_1.xls"
Cells.Select
Cells.EntireColumn.AutoFit
Selection.AutoFilter
ActiveWindow.SmallScroll ToRight:=3
Selection.AutoFilter Field:=12, Criteria1:="ONWAAR"
Selection.AutoFilter Field:=7, Criteria1:=""

End Sub
 
Als je manueel in kolom 7 kiest voor lege cellen staat daar dan niets of staat daar "(Lege cellen)". Ik vermoed dat er "(Lege cellen)" staat.
Pas de regel Selection.AutoFilter Field:=7, Criteria1:=""
eens aan naar
Selection.AutoFilter Field:=7, Criteria1:="(Lege cellen)"
Vermoedelijk werkt ie dan wel.
 
bestand

Hoi, dank voor reactie, maar met aanpassing naar lege cellen doet hij het ook niet.

testbestand in bijlage.

dank, stefano
 

Bijlagen

Pas de filters in je macro als volgt aan:

Selection.AutoFilter Field:=12, Criteria1:="FALSE"
Selection.AutoFilter Field:=7, Criteria1:="="

dan werkt ie bij mij prima.
In Excel wordt de tekst in het nederlands weergegeven, maar in VBA moet je altijd de engelse teksten gebruiken.
(lekker tricky als je de macro opneemt want dan krijg je de nederlandse tekst erin staan :eek: ).
Voor lege cellen moet je "=" gebruiken en voor niet lege cellen "<>". (Uit de help van VBA).
 
VERVOLG

Schitterend, het werkt, Jongens wie zoekt die vindt...

Bedankt Jan.

Nu ga ik verder met het volgende probleem.

Met behulp van bovenstaande makro heb ik nu de gewenste data gefilterd. NU zou ik enkel die data willen overbrengen naar een ander bestand .

Kan jij helpen ?

dank bij voorbaat,

Stefano
 
Handmatig kan het als volgt:
Ga ergens in het overzicht staan en druk op Ctrl+*.
Hiermee wordt het aaneengesloten gebied waar de cursor instaat geselecteerd.
Druk op F5 (Ga naar), kies "speciaal" en klik op "alleen zichtbare cellen".
Kies kopieren en ga naar het andere blad en kies plakken.

In macrovorm:

Range("C12").Select
Selection.CurrentRegion.Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Blad3").Select
ActiveSheet.Paste

Het aaneengesloten gebied waarvan C12 deel uitmaakt wordt geselecteerd en alleen de zichtbare cellen worden naar blad 3 gekopieerd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan