dinsdag 23 juni 2015

macro opnemen voor Filter geavanceerd

In een vorig punt werd de geavanceerde filter besproken. Bij elke wijziging van de criteria is het vereist om bepaalde instellingen terug aan te brengen in het dialoogvenster "Uitgebreid Filter". Om dit te vermijden ga ik een macro ontwerpen. Daartoe activeer ik eerst het tabblad "Ontwikkelaars" in het lint.

  • Klik op het tabblad "Bestand" in het lint.

  • Klik op "Opties".

  • Klik op "Lint aanpassen".

  • Klik op het vakje naast de vermelding "Ontwikkelaars" in de zone "Hoofdtabbladen".
  • Klik op "OK".

Het tabblad "Ontwikkelaars" is nu beschikbaar. Onderaan is nu ook de opdracht om een macro-opname te starten zichtbaar.

Eerst denk ik na welke stappen er allemaal gaan uitgevoerd worden. Eerst ga ik het vorig resultaat verwijderen. Het aantal lijnen voor die lijst weet ik niet op voorhand. Ik weet enkel met zekerheid de startcel van deze lijst. Met de sneltoets CTRL * kan ik de volledige lijst selecteren. Met de delete-toets kan ik deze lijst dan verwijderen. Daarna selecteer ik een cel van de databank en start ik de geavanceerde filter. Na het verschijnen van het nieuw resultaat stop ik de opname.
Nu ik weet wat er allemaal mag gebeuren, start ik de opname.

  • Klik op het tabblad "Ontwikkelaars" in het lint.
  • Klik op de opdracht "Macro opnemen".
Het dialoogvenster "Macro Opnemen" verschijnt.

Ik vul de macronaam in. Deze naam mag geen spaties bevatten.
  • Typ "mcrFilter" in het vak bij "Macronaam".
  • Klik in het vak bij "Sneltoets".
  • Druk op de toetsen "Shift" en "F".

Deze macro wordt in dit werkmap geplaatst. Dit is reeds geselecteerd bij "Macro opslaan in". Ik hoef dit niet te veranderen. Tenslotte vul ik nog een aantal kenmerken in bij het vak "Beschrijving".
  • Typ "jouw naam", "datum" en "versie 1" in het vak bij "Beschrijving".
  • Klik op "OK".

Alle acties die ik nu uitvoer worden in de achtergrond vertaald naar visual basic. Merk op dat de voorgaande knop voor de macro-opname is gewijzigd in een vierkant. Deze knop kan ik nu gebruiken om de opname te stoppen, nadat alle handelingen zijn uitgevoerd.

  • Klik in de cel K7.

  • Druk op de toetsen CTRL *.

  • Druk op de toets Delete.

  • Klik in de cel A1.

  • Klik op het tabblad "Gegevens" in het lint.
  • Klik op de opdracht "Geavanceerd".

Het dialoogvenster "Uitgebreid Filter" verschijnt.

  • Stip "Kopiëren naar andere locatie" aan.

  • Selecteer het voorstel in het vak "Lijstbereik".
  • Duw op de toets F3.

Het dialoogvenster "Naam plakken" verschijnt.
  • Duid "personeel" aan.

  • Klik op "OK".
  • Selecteer het voorstel in het vak "criteriumbereik".

  • Duw op de toets F3.
  • Duid "criteria" aan.

  • Klik op "OK".

  • Selecteer het voorstel in het vak "Kopiëren naar".

  • Klik in cel K7".

  • Klik op "OK".
Het resultaat verschijnt.

  • Klik op de knop "Opname stoppen".

We controleren de werking van de macro. We brengen een nieuw criteria aan. En voeren de macro uit met de sneltoets.
  • Klik in de cel "P2".
  • Typ "Verkoop" en bevestig met CTRL Enter.

  • Pas de sneltoets CTRL SHIFT F toe.
De nieuwe lijst verschijnt met alle personeelsleden uit de afdeling verkoop.

We gaan dit document bewaren. Momenteel heeft dit document de extensie "xlsx". Voor macro's is een extensie "xlsm" vereist. We gaan dit veranderen via opslaan als.
  • Klik op "Bestand" in het lint.

  • Klik op "Opslaan als".

  • Klik op "Bladeren".


  • Wijzig "Excel-werkmap (*.xlsx)" door "Excel-werkmap met macro's (*.xlsm)".

  • Klik op "Opslaan".

We testen deze marco nog eens voor een ander criteria.
  • Klik in de cel "P2".
  • Typ "Prod" en bevestig met CTRL Enter.
  • Klik in de cel "N2".
  • Typ "v" en bevestig met CTRL Enter.

  • Pas de sneltoets CTRL SHIFT F toe.
De vrouwelijke personeelsleden die tot de afdeling productie behoren verschijnen in de lijst.

Filter Geavanceerd

We starten terug van de databank personeel. We wensen deze databank te filteren. We gebruiken deze keer de uitgebreide filter. We plaatsen eerst een criteria naast deze databank. Daartoe kopiëren we de kolomtitels van de databank. Onder de titels komen de voorwaarden. We wensen een lijst te bekomen voor de afdeling administratie.

  • Klik in de cel A1.
We selecteren de kolomtitels

  • Gebruik bijvoorbeeld de sneltoets CTRL SHIFT Pijltje naar rechts.
We kopiëren de geselecteerde cellen.

  • Gebruik bijvoorbeeld de sneltoets CTRL C.
  • Klik in de cel K1.
Nu kunnen we de geselecteerde gegevens plakken.

  • Gebruik bijvoorbeeld de sneltoets CTRL V.
We maken de kolommen breder en vullen de voorwaarde "Admin" in.

  • Selecteer het volledig werkblad.
  • Dubbelklik bovenaan op de overgang tussen de letters.
  • Klik in de cel P2.
  • Typ "Admin".
Vervolgens geven we de databank en het gebied met de voorwaarden voor de filter een bereiksnaam.
  • Selecteer een willekeurige cel van de databank.

  • Gebruik de sneltoets CTRL *

  • Typ "personeel" in het naamvak.

  • Selecteer een willekeurige cel in het gebied van de voorwaarden.

  • Gebruik de sneltoets CTRL *

  • Typ "criteria" in het naamvak.

Nu kunnen we de uitgebreide filter starten.
  • Klik in cel A1.

  • Klik op het tabblad "Gegevens" van het lint.

  • Klik op de opdracht "Geavanceerd" in het lint.
Het dialoogvenster "Uitgebreid filter" verschijnt.

We wensen het resultaat van de filter in een nieuwe lijst te bekomen.
  • Stip "Kopiëren naar andere locatie" aan.

Hierdoor komt het vak "Kopiëren naar" vrij.
We brengen de bereiksnamen aan in de verschillende tekstvakken.
  • Selecteer het voorstel van het vak lijstbereik.

  • Duw op de toets F3.
Een overzicht van de bestaande bereiksnamen verschijnt in een dialoogvenster.

  • Selecteer de bereiksnaam "personeel" en klik op "OK".

De bereiksnaam "personeel" komt in het vak "Lijstbereik".

  • Selecteer het voorstel van het vak criteriumbereik.
  • Duw op de toets F3.

  • Selecteer de bereiksnaam "criteria" en klik op "OK".

De bereiksnaam "criteria" komt in het vak "criteriumbereik".

  • Klik in het vak "Kopiëren naar".

We wensen dat het resultaat van de filter begint in cel K7.

  • Klik in de cel K7.
  • Klik op OK.

Er verschijnt een lijst met enkel de personeelsleden die behoren tot de afdeling administratie.