Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Sturen van autofilter  (gelezen 3983 keer)

0 leden en 1 gast bekijken dit topic.

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Sturen van autofilter
« Gepost op: 22 augustus 2007, 00:01:07 »
In  bijlage treffen jullie een voorbeeld aan van een autofilter in vba.

In de procedure UserForm_Initialize() heb ik twee regels staan.

    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="=v*", Operator:=xlAnd

Bij uitvoering zullen er enkel leerplandoelstellingen verschijnen die beginnen met een letter V

wanneer ik Criteria1:="=v*" verander in Criteria1:="=a*" dan verschijnen alle leerplandoelstellingen ipv enkel deze die beginnen met een A

Wat doe ik fout?
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #1 Gepost op: 22 augustus 2007, 00:07:28 »
Hallo,

Je bent de bijlage vergeten.
"selection" is meestal geen goede optie
Kan je niet gewoon iets doen als
    Columns(1).AutoFilter Field:=1, Criteria1:="=a*", Operator:=xlAnd    Activesheet.UsedRange.AutoFilter Field:=1, Criteria1:="=a*", Operator:=xlAnd
Werkt prima voor mij.

beste groeten,
Erik


Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #2 Gepost op: 22 augustus 2007, 00:13:51 »
Bijlage nu gezien.
Als je een breekpunt instelt op de regel
Selection.AutoFilter Field:=1, ....zal je merken dat het ook werkt met de "a", maar de verdere code zorgt er voor dat de filter weer wordt weggehaald.
't Is voor mij nu te laat om de zaak verder te bekijken, maar misschien is dit al genoeg voor je.

beste groeten,
Erik

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #3 Gepost op: 22 augustus 2007, 00:24:36 »
Bijlage nu gezien.
Als je een breekpunt instelt op de regel
Selection.AutoFilter Field:=1, ....zal je merken dat het ook werkt met de "a", maar de verdere code zorgt er voor dat de filter weer wordt weggehaald.
't Is voor mij nu te laat om de zaak verder te bekijken, maar misschien is dit al genoeg voor je.

beste groeten,
Erik

Ja dat heb ik gemerkt, ik begrijp echter niet waarom het wel werkt met de "V" en niet met de "A" en de "K"
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #4 Gepost op: 22 augustus 2007, 17:41:21 »
misschien moeten we overeen komen wat er bedoeld wordt met "het werkt niet"
ik heb proberen uit te leggen dat de code die je in je eerste bericht toont, wel werkt - dus ook met de "a" - , maar dat de verdere code de filter weer wegneemt

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #5 Gepost op: 23 augustus 2007, 00:19:17 »
Wanner je de code in bijlage gaat uitvoeren dan zal je zien dat er enkel leerplandoelstellingen staan die beginnen met de letter V. (wat dus volgens jou niet kan omdat de filter verder in de code wordt weggenomen.)

Als ik de code in bijlage aanpas in de zin dat ik als criteria  "=a*" gebruik dan krijg ik alle leerplandoelstellingen zowel deze die beginnen met de letter v als a.

Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #6 Gepost op: 23 augustus 2007, 13:36:55 »
Als ik op de knop druk zie ik geen enkel verschil tussen de code met "v" of met "a", ik zie tenminste zowel gegevens met "v" als met "a".

Citaat
krijg ik alle leerplandoelstellingen
Dat is vaag: vertel eens precies wat je doet, wat het gewenste resultaat is en wat het huidige resultaat is. Vertel er bij waar we moeten kijken: listbox2 misschien?

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #7 Gepost op: 23 augustus 2007, 16:24:03 »
Citaat
Als ik op de knop druk zie ik geen enkel verschil tussen de code met "v" of met "a", ik zie tenminste zowel gegevens met "v" als met "a".

Dit is nu juist niet wat ik wil hebben. In een publieke variabele SCODE heb ik voorheen de waarde a of v geplaatst.

Stel dat ik in scode de waarde V geplaatst heb dan is het de bedoeling dat ik in listbox1 een overzicht krijg van de doelstelling V.1 tot en met V.6

In de uitschijflijst leerplandoelstelling kies ik dan een code bijvoorbeeld V.2 (de A's mogen er niet tussenstaan) een overzicht van alle doelstellingen behorende bij de code V.2 kom nu te staan in listbox2.
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Re: Sturen van autofilter
« Reactie #8 Gepost op: 23 augustus 2007, 18:45:29 »
OK - ik heb het aan de praat zoals ik het wil. Blijkbaar moet je effectief werken met een range en je voorwaarden in het werkblad formuleren om "advanced filter" te kunnen gebruiken.

        'Create Unique Description List
       .Range("a1", .Range("A65536").End(xlUp)).AdvancedFilter _
        Action:=xlFilterCopy, CriteriaRange:="", CopyToRange:=Sheet2.Range("O1"), Unique:=True

is geworden

        'Create Unique Description List
       .Range("a1", .Range("A65536").End(xlUp)).AdvancedFilter _
        Action:=xlFilterCopy, CriteriaRange:=Range("a200:a201"), CopyToRange:=Sheet2.Range("O1"), Unique:=True

en id de cel a200 staat LPD en in cel a201 staat '=v*
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

 


www.combell.com