vrijdag 13 september 2013

Tekst Importeren - VBA Excel

We hebben een tekstbestand waarin de gegevens staan voor onze personeelsleden.

We gaan dit bestand in excel openen.
Omdat we dit wekelijks doen gaan we hiervoor een macro opnemen.
Standaard is er een tabblad voor het lint verborgen.
We gaan eerst dit tabblad zichtbaar maken.
  • Start het programma Excel.
  • Klik op het tabblad "Bestand".
  • Klik op "Opties".


  • Klik op het item "Lint aanpassen".
In de rechtse kolom is voor het item "Ontwikkelaars" het vierkantje leeg.
Hierdoor is dit tabblad niet zichtbaar.


  • Klik op het leeg vierkantje bij "Ontwikkelaars".
  • Klik op OK.
  • Klik op het tabblad "Ontwikkelaars".

Vooraan zie je de opdrachten die we kunnen gebruiken indien we een macro gaan opnemen.


Tijdens de opname worden alle handelingen automatisch vertaald naar de programmeertaal Visual Basic.
Ook onderaan in de taakbalk is er een pictogram verschenen om een macro op te nemen.


  • Klik op de opdracht "Macro opnemen".

Het dialoogvenster "Macro opnemen" verschijnt.

De opdracht bovenaan is nu gewijzigd in "Opname stoppen".

Onderaan in de taakbalk is een vierkantje verschenen, waarmee je ook de opname kan stoppen.
Bovenaan komt de naam van onze opname.
Standaard werd hier "Macro1" vermeld.
Deze naam kan geen spaties of bepaalde leestekens bevatten.

  • Typ mcrTekst in het vak "Macronaam".
Je kan voor de uitvoering van deze macro een sneltoets voorzien.
Merk op dat je bepaalde sneltoetsen zoals bijvoorbeeld CTRL C niet kan gebruiken.
We wensen de sneltoets CTRL SHIFT T te voorzien.
  • Klik in het vakje bij "Sneltoets".
  • Druk de Shift toets tesamen met T in.
Vervolgens kan je aanduiden waar dat de macro wordt opgeslagen.
Er zijn drie mogelijkheden waaruit je kan kiezen.
Met deze werkmap wordt de code in het huidige document aangebracht.
Deze code is slechts beschikbaar in het huidig document zelf.
Op jouw computer is er het bestand "Personal" aanwezig.
De code die hierin wordt aangebracht is altijd beschikbaar indien excel wordt opgestart.
Tenslotte wordt bij "Nieuw werkmap" deze opname aangebracht indien een nieuw document wordt gemaakt.

  • Selecteer "Deze werkmap" bij "Macro opslaan in".
Onderaan is er nog een leeg tekstvak om extra commentaar aan te brengen dat verband houdt met de code.
  • Breng een tekst aan bij "Beschrijving".
Je kan eventueel de "Visual Basic Editor" starten om stap voor stap de bekomen code te bekijken

Dit kan via het tabblad "Ontwikkelaars" of de sneltoets ALT + F11.
Links is standaard de ProjectVerkenner aanwezig.
Via "Beeld" in de menubalk kan je indien nodig dit venster oproepen.
In excel is er een bestand "Map1" gecreëerd. Hierin is nu een mapje "Modules" aangebracht.
De code wordt weggeschreven in "Module1" bij "Modules".


  • Start de Visual Basic Editor.
  • Open de map "Modules".
  • Dubbelklik op de naam "Module1", om het blad met de code te zien.

Nu kunnen we alle handelingen uitvoeren om een tektsbestand te openen.
Al deze handelingen worden omgezet naar visual basic code.
  • Keer terug naar het excel-werkblad.
  • Klik op "Bestand".
  • Klik op de opdracht "Openen".
  • Klik op "Computer".
  • Klik op "Bladeren".




Het dialoogvenster "Openen" verschijnt.


onderaan is "Alle Excel-bestanden" aangeduid.

Dit is een filter. Hierdoor worden enkel excel bestanden getoond die zich in de geselecteerde folders bevinden.
Omdat we een tekstbestand wensen te selecteren is het vereist dit aan te passen.
In ons geval staan de gegevens in het tekstbestand "Personeel.txt" in de folder "Excel" onder "Documenten".
  • Wijzig "Alle Excel-bestanden" door "Tekstbestanden".
  • Selecteer de folder met het tekstbestand.
  • Duid het tekstbestand aan.
  • Klik op "Openen".
Het dialoogvenster "Wizard Tekst Importeren stap 1 van 3" verschijnt.

Standaard is het keuzerondje "Gescheiden" aangeduid.
In ons geval is dit correct. In het tekstbestand kan je zien aan het koppelteken "-", hoe de informatie is verdeeld in kolommen.
In het tekstbestand zijn eveneens de titels aangebracht.


  • Zet een vinkje bij "Mijn gegevens bevatten kopteksten".
  • Klik op "Volgende".

In het volgende venster kan je het "scheidingsteken" aanduiden.

In ons geval is het koppelteken "-" het scheidingsteken.
Er worden verschillende scheidingstekens voorgesteld. Echter ons scheidingsteken "-" staat er standaard niet bij.

Onderaan zie je dan onmiddellijk of de indeling in kolommen correct is.

  • Plaats een vinkje bij "Overige".
  • Typ "-" in het vakje bij "Overige".
  • Klik op "Volgende".
In het derde dialoogvenster kan je het gegevenstype per kolom instellen.

We veranderen de standaard enkel voor de kolom met data.
Voor de eerste persoon is de datum in het tekstbestand voorgesteld als "4/22/1990".
Dit is de notatie "MDJ" (maand dag jaar).
  • Selecteer de kolom met data.
  • Stip "Datum" aan.
  • Kies "MDJ" bij "Datum".



In het tekstbestand is er een punt aanwezig bij de lonen. Ook dit gaan we controleren.
Indien er een komma als kommanotatie staat dan worden onze lonen teksten na importeren.

  • Klik op het knopje "Geavanceerd...".
Het dialoogvenster "Geavanceerde instellingen voor tekst importeren" verschijnt.



  • Plaats een "." bij "Decimaalteken".
  • Plaats een "," bij "Scheidingsteken voor duizendtallen".
  • Klik op "OK".
  • Klik op "Voltooien".

Het tekstbestand wordt nu in een apart werkblad getoond. In de visual basic editor kan je de code bekijken.


Je kan deze code verder aanvullen met andere handelingen. Bijvoorbeeld de namen alfabetisch rangschikken.


  • Selecteer een willekeurig naam uit de databank.
  • Ga naar het tabblad "Gegevens".
  • Klik op de opdracht "Oplopend sorteren".

Indien alle handelingen zijn uitgevoerd, kan je de opname beëindigen.<:p>

  • Klik op het knopje "Opname stoppen".

Via het knopje "Macro's" krijg je een overzicht van alle opnames.


Je kan een opname selecteren en dan klikken op het knopje "Uitvoeren". De sneltoets kan je achterhalen via het knopje "Opties".


Je kan eventueel ook de macrobeveiliging controleren.

In ons geval worden de macro's uitgeschakeld via een melding. Je kan ook in een werkblad een formulierknopje aanbrengen dat je kan selecteren onder "Invoegen" in het tabblad "Ontwikkelaars".
  • Klik op "Invoegen" in het tabblad "Ontwikkelaars".
  • Klik op het element "Knop" bij de "formulierbesturingselementen"
  • Ga naar het werkblad.
  • Breng een knop aan door slepen.

Het dialoogvenster "Macro toewijzen aan object" verschijnt. Nu kan kiezen welke opname er uitgevoerd mag worden als er later op deze knop wordt geklikt.


  • Duid de opname "mcrTekst" aan.
  • Klik op "OK".
  • Wijzig de standaardnaam in de knop door "Importeren".
  • Klik naast de knop.

De knop is nu aktief en kan uitgeprobeerd worden.