Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

VBA Excel probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste

voor een excel file zou ik graag onderstaande hebben in VBA code.

Het is namelijk zo dat we een excellijst hebben met gegevens
Kolom A
Kolom B
Kolom C
...

Nu is het zo dat ik een form wil aanmaken met keuzelijsten die dan gaan filteren wat ik wil.
"ActiveSheet.Range("$A$8:$A$100").AutoFilter Field:=1, Criteria1:=drukker.Value"

Met deze code kan ik in kolom a gaan filteren om naar van drukker.

als ik wil gaan filter op naam van drukker en op machine zou ik denken om er een extra rij achter de steken maar dit doet hij niet.

Hoe kan ik het best te werken gaan... bedoeling is dat ik alles gegevens in combobox invul en druk op start en hij mij de gefilterde excel lijst toont.

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 20:33

Tazzios

..

Hier heb je geen VBA voor nodig. Ik heb zelf eens zoiets gemaakt met het uitgebreide filter:
http://www.gratiscursus.be/Excel_Tips/Excel_Tip_027.html

Voor details is het echter iets te lang geleden.

[ Voor 30% gewijzigd door Tazzios op 20-06-2016 14:24 . Reden: beter linkje toegevoegd ]


Verwijderd

Topicstarter
Zie hier niets op :)

Probleem is dat de excel lijst meerdere keren zal gemaakt worden ( productie van machines ) en er een macro moet van komen want anders moet de excellijst telkens aangepast worden..

Met de macro zet ik de range zeer ver... trek een nieuwe lijst en weet meteen alles.
De nieuwe lijst trekken is telkens een nieuwe file.

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 20:33

Tazzios

..

Indien je meer en nuttige reactie wilt ontvangen zou ik het verhaal wat duidelijker neerzetten. Je reactie op mijn oplossing is ook zeer kort en weinig verhelderend.
In je TS begin je over kolom A, B en C en vervolgens drukker en machine. Je geeft aan een gefilterde lijst op meerdere criteria te willen welke vervolgens wordt getoond.
Precies wat mogelijk is, blijkbaar missen er wat van je eisen.
Verwijderd schreef op maandag 20 juni 2016 @ 14:26:
Zie hier niets op :)

Probleem is dat de excel lijst meerdere keren zal gemaakt worden ( productie van machines ) en er een macro moet van komen want anders moet de excellijst telkens aangepast worden.
Ik weet niet of ik je goed begrijp maar de uitkomst kan ook op een nieuw blad worden getoond.
Met de macro zet ik de range zeer ver... trek een nieuwe lijst en weet meteen alles.
De nieuwe lijst trekken is telkens een nieuwe file.
GOTO regel 1

[ Voor 4% gewijzigd door Tazzios op 20-06-2016 15:25 ]


Verwijderd

Topicstarter
Ik wil gewoon dat als ik op de knop start druk mijn lijst automatisch zal gefilterd worden zoals in mijn combox staat.

Bv.

Combo1 : Piet
Combo2: Machine 1
combo 3: Instellen productie

Zodanig dat hij mij dan een lijst terug koppelt gefilterd met enkel de werken van Piet, op machine 1 en omtrent instellen productie.

Foutieve code:

Sheets("Sheet1").Select
Columns("A").Select
Range("A2:A60000").Activate
Selection.AutoFilter
ActiveSheet.Range("$A$8:$A$65000").AutoFilter Field:=1, Criteria1:=ComboDrukker.Value

Sheets("Sheet1").Select
Columns("B").Select
Range("B2:B60000").Activate
Selection.AutoFilter
ActiveSheet.Range("$B$8:$B$65000").AutoFilter Field:=1, Criteria1:=ComboMachine.Value

Sheets("Sheet1").Select
Columns("C").Select
Range("C2:C60000").Activate
Selection.AutoFilter
ActiveSheet.Range("$C$8:$C$65000").AutoFilter Field:=1, Criteria1:=ComboWerk.Value

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 20:33

Tazzios

..

Op welk punt is het uitgebreide filter dan niet geschikt?

Verwijderd

Topicstarter
Kan goed zijn... situatie zit namelijk zo dat de file ( iedere dag groter en groter zal worden ) en door verschillende mensen op de pc zal gedownload worden ( met veel pc kennis en geen pc kennis ) nu is het zo dat ik de macro op hun pc kan gaan zetten en ze gewoon door middel van een simpele keuzelijst alles vlot en overzichtelijk krijgen.

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 20:33

Tazzios

..

Fijn dat een gegeven antwoord niet bekeken wordt. :)

A fijn, zet de macro recorder aan en pas 3 filters toe en je hebt je antwoord.
code:
1
2
3
    ActiveSheet.Range("$A$3:$C$9").AutoFilter Field:=1, Criteria1:="fg"
    ActiveSheet.Range("$A$3:$C$9").AutoFilter Field:=2, Criteria1:="3"
    ActiveSheet.Range("$A$3:$C$9").AutoFilter Field:=3, Criteria1:="a"


Edit
Ow en deze om het filter aan te maken:
code:
1
2
    Range("A3:C3").Select
    Selection.AutoFilter


Wat je fout deed was telkens een nieuw filter aan maken per kolom.

[ Voor 22% gewijzigd door Tazzios op 21-06-2016 14:13 . Reden: code tags toegevoegd ]


Verwijderd

Topicstarter
Strange, werkt niet meteen..
Na het werk eens op het gemak bekijken :)

[ Voor 72% gewijzigd door Verwijderd op 20-06-2016 16:59 ]


Verwijderd

Topicstarter
Werkt prima met onderstaande code:

Private Sub btn_start_Click()

Range("A3:C3").Select
Selection.AutoFilter
Range("$A$3:$C$9").AutoFilter Field:=1, Criteria1:=ComboDrukker.Value
Range("$B$3:$B$9").AutoFilter Field:=2, Criteria1:=ComboMachine.Value
Range("$C$3:$C$9").AutoFilter Field:=3, Criteria1:=ComboWerk.Value
End Sub

Nu is het zo dat nie alle comboboxen altijd zullen ingevuld zijn. Hoe kan ik hiermee te werkgaan? Combox. value? Text = true?...

Verwijderd

Topicstarter
Nog wat raars, nu wil ik een bijkomende kolom die ook zal filteren op datum.. door gewoon een rij extra toe te voegen werkt dit niet meer? het kan toch maar zo simpel zijn?

Private Sub btn_start_Click()

Range("A3:E1000").Select
Selection.AutoFilter

Range("$A$3:$C$1000").AutoFilter Field:=1, Criteria1:=ComboDrukker.Value
Range("$B$3:$B$1000").AutoFilter Field:=2, Criteria1:=ComboMachine.Value
Range("$C$3:$C$1000").AutoFilter Field:=3, Criteria1:=ComboWerk.Value
Range("$D$3:$D$1000").AutoFilter Field:=4, Criteria1:=ComboDate.Value
End Sub

Verwijderd

Topicstarter
Dit probleem werd ondertussen opgelost ... eerste lijn moest C veranderen in D
Verwijderd schreef op maandag 20 juni 2016 @ 18:34:
Nog wat raars, nu wil ik een bijkomende kolom die ook zal filteren op datum.. door gewoon een rij extra toe te voegen werkt dit niet meer? het kan toch maar zo simpel zijn?

Private Sub btn_start_Click()

Range("A3:E1000").Select
Selection.AutoFilter

Range("$A$3:$C$1000").AutoFilter Field:=1, Criteria1:=ComboDrukker.Value
Range("$B$3:$B$1000").AutoFilter Field:=2, Criteria1:=ComboMachine.Value
Range("$C$3:$C$1000").AutoFilter Field:=3, Criteria1:=ComboWerk.Value
Range("$D$3:$D$1000").AutoFilter Field:=4, Criteria1:=ComboDate.Value
End Sub

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 20:33

Tazzios

..

Ik zou overal de volledige range telkens opgegeven. dmv van field geef je tenslotte al aan welke kolom je wilt filteren.
dus:

Visual Basic:
1
2
3
4
Range("A3:E1000").AutoFilter Field:=1, Criteria1:=ComboDrukker.Value
Range("A3:E1000").AutoFilter Field:=2, Criteria1:=ComboMachine.Value
Range("A3:E1000").AutoFilter Field:=3, Criteria1:=ComboWerk.Value
Range("A3:E1000").AutoFilter Field:=4, Criteria1:=ComboDate.Value


anders maakt hij er mogelijk losse filters van, en het werkt makkelijker.

[ Voor 1% gewijzigd door BtM909 op 21-06-2016 09:36 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Sowieso makkelijk(er) om je code even tussen [code=vba][/] of [code=vb][/] tags te plaatsen. Dat leest wat beter :)

Daarnaast past dit topic (vanwege Excel) beter in Client Software Algemeen, dus een klein schopje die kant op.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1