Gestructureerd programmeren in Excel VBA. Hugo Schouppe, Evert Schouppe

Maat: px
Weergave met pagina beginnen:

Download "Gestructureerd programmeren in Excel VBA. Hugo Schouppe, Evert Schouppe"

Transcriptie

1 Gestructureerd programmeren in Excel VBA Hugo Schouppe, Evert Schouppe

2 Gestructureerd programmeren in Excel VBA Hugo Schouppe Evert Schouppe

3 Meer informatie over deze en andere uitgaven kunt u verkrijgen bij: Sdu Klantenservice Postbus EA Den Haag tel.: (070) Sdu Uitgevers bv, Den Haag Academic Service is een imprint van Sdu Uitgevers bv 1e druk, 1e oplage augustus e oplage mei e druk, 1e oplage maart 2011 Zetwerk: Redactiebureau Ron Heijer, Markelo Omslagontwerp: Carlito s Design, Amsterdam ISBN: NUR: 123/989 Alle rechten voorbehouden. Alle auteursrechten en databankrechten ten aanzien van deze uitgave worden uitdrukkelijk voorbehouden. Deze rechten berusten bij Sdu Uitgevers bv. Behoudens de in of krachtens de Auteurswet 1912 gestelde uitzonderingen, mag niets uit deze uitgave worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand of openbaar gemaakt in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, opnamen of enige andere manier, zonder voorafgaande schriftelijke toestemming van de uitgever. Voorzover het maken van reprografische verveelvoudigingen uit deze uitgave is toegestaan op grond van artikel 16 h Auteurswet 1912, dient men de daarvoor wettelijk verschuldigde vergoedingen te voldoen aan de Stichting Reprorecht (postbus 3051, 2130 KB Hoofddorp, Voor het overnemen van gedeelte(n) uit deze uitgave in bloemlezingen, readers en andere compilatiewerken (artikel 16 Auteurswet 1912) dient men zich te wenden tot de Stichting PRO (Stichting Publicatie- en Reproductierechten Organisatie, Postbus 3060, 2130 KB Hoofddorp, Voor het overnemen van een gedeelte van deze uitgave ten behoeve van commerciële doeleinden dient men zich te wenden tot de uitgever. Hoewel aan de totstandkoming van deze uitgave de uiterste zorg is besteed, kan voor de afwezigheid van eventuele (druk)fouten en onvolledigheden niet worden ingestaan en aanvaarden de auteur(s), redacteur(en) en uitgever deswege geen aansprakelijkheid voor de gevolgen van eventueel voorkomende fouten en onvolledigheden. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the publisher s prior consent. While every effort has been made to ensure the reliability of the information presented in this publication, Sdu Uitgevers neither guarantees the accuracy of the data contained here in nor accepts responsibility for errors or omissions or their consequences.

4 Voorwoord De meeste leerboeken over Excel VBA gaan ervan uit dat u reeds kunt programmeren in een andere programmeertaal. U leert dan alleen de syntaxis van een nieuwe taal. In het beste geval kunt u uit de voorbeelden afleiden wat een goede programmeerstijl zou zijn. Dit boek gaat ervan uit dat u nog geen ervaring hebt met programmeren. Bovendien leert u een programmeertaal die relevant is voor vele miljoenen gebruikers. Het combineert het beste van beide werelden. Enerzijds is er gekozen voor een programmeertaal en -omgeving die u vandaag wellicht al gebruikt: Microsoft Excel. Anderzijds beperkt het boek zich niet louter tot een bespreking van de taal. Typische programmeerconcepten worden uitgebreid toegelicht en voorzien van voorbeelden. Verder kan dit boek gebruikt worden in combinatie met de meest gangbare versies van Microsoft Excel (Excel 97, Excel 2000, Excel XP, Excel 2007 en Excel 2010). U begint eenvoudig: met de macrorecorder (hoofdstuk 2). Daarna leert u stelselmatig hoe u de code die de macrorecorder oplevert, kunt aanpassen in de VBA editor (hoofdstuk 3). Gestructureerd programmeren komt aan bod in hoofdstuk 4. De programmastructuur wordt telkens geïllustreerd met behulp van ProgrammaStructuurDiagrammen. PSD s, in tegenstelling tot stroomschema s, verplichten u om gestructureerd te werken. Vele programma s worden, naarmate ze uitbreiden, steeds onoverzichtelijker (en ongestructureerder). Opsplitsen in modules of modulair programmeren (hoofdstuk 5) kan helpen om het overzicht te bewaren. Software moet niet alleen gestructureerd geschreven zijn, maar ook herbruikbaar zijn. Daarvoor kunt u uw programma s en gegevens verpakken in objecten. Excel VBA is een objectgeoriënteerde taal. Dit wil zeggen dat u bestaande Excel-objecten zoals draaitabellen en grafieken kunt gebruiken in VBA (hoofdstuk 6) maar ook dat u eigen formulieren (hoofdstuk 8) en objecten (hoofdstuk 9) kunt creëren. Een zeer belangrijk Excel-object wordt uiteraard gevormd door tabellen (hoofdstuk 7). Het boek wordt afgesloten met een korte exploratie van recursieve algoritmen (hoofdstuk 10). Het meeste rendement haalt u uit dit boek door de voorbeelden en oefeningen na te maken op de computer. Neem het boek bij de hand, zet de pc aan en begin! Hugo Schouppe Evert Schouppe januari 2011 v

5 Inhoud Voorwoord v 1 Inleiding Wat is Excel? Wat is Excel VBA? Waarom Excel VBA? Voorbeeld 1: aanpassen van gegevens Voorbeeld 2: voorwaardelijke opmaak Problemen en gevaren van Excel VBA 9 2 De Excel-macrorecorder Voorbeeld: gebruik van de macrorecorder Starten en stoppen van de macrorecorder Opnemen met de macrorecorder De macro bekijken in de Visual Basic editor Relatief of absoluut opnemen Uitvoeren van een macro Oefeningen 25 3 De Visual Basic editor Voorbeeld: Hello, world! Gebruik van de Visual Basic editor Starten van de Visual Basic editor Sluiten van de Visual Basic editor Schakelen tussen de editor en de werkmap Onderdelen van de editor De Werkbalk Standaard De Projectverkenner Venster Eigenschappen Venster Programmacode Schrijven van macro s in de editor Uitvoeren van een macro in de editor Testen van een macro Onderbreken van een macro Oefeningen 41 4 Gestructureerd programmeren Variabelen en constanten Gegevenstype van variabelen en constanten Operaties op variabelen en constanten Input- en outputoperaties 50 vii

6 Gestructureerd programmeren in Excel VBA viii 4.2 Basis programmastructuren De sequentie De selectie De iteratie Combinatie van de basisstructuren Oefeningen 72 5 Modulair programmeren Functies en subroutines Functies Subroutines Doorgeven van parameters Bereik van een variabele Top-downontwerp Bottom-upontwerp Ingebouwde Excel VBA-functies Oefeningen 97 6 Objectgeoriënteerd programmeren Voorbeeld: spelen met vormen Voorbeeld: sorteren van de werkbladen in een werkboek Het venster Objectenoverzicht Het objectmodel Het object Range Voorbeeld: manipuleren van een aaneengesloten gebied cellen Verschillende manieren om een Range-object te verkrijgen Het object PivotTable Het object Chart Oefeningen Tabellen en bestanden Tabellen Zoekalgoritmen Sorteeralgoritmen Bestanden Aanmaken van een bestand Een lijst maken van gegevens uit één bestand Groepsonderbreking Samenvoegen van bestanden Oefeningen Formulieren en gebeurtenissen Voorbeeld: een eigen MsgBox-functie Het venster UserForm en de werkset Controls Het venster UserForm De werkset Controls Code schrijven voor de UserForm en besturingselementen 171

7 Inhoud 8.3 Integratie van formulieren met een Excel-toepassing Gebeurtenissen in het werkblad Gebeurtenissen van het werkblad Gebeurtenissen van de werkmap Oefeningen Eigen objecten en gekoppelde lijsten Door de gebruiker gedefinieerde datatypen Voorbeeld: aangepaste functie noteercoordinaten Syntaxis Door de gebruiker gedefinieerde objecten Voorbeeld: creatie van een Datum-object Samenvatting: aanmaken van eigen objecten Gekoppelde lijsten Voorstelling en notatie Tabelimplementatie Wijzerimplementatie Oefeningen Recursie Voorbeeld: fractalen Iteratie versus recursie Voorbeeld 1: berekenen van de faculteit van een getal Voorbeeld 2: berekenen van de macht van een getal Voorbeeld 3: de reeks van Fibonacci Voorbeeld 4: de torens van Hanoi Recursie en wijzers Recursie en tabellen Oefeningen 225 Index 227 ix

8 Hoofdstuk 1 Inleiding Excel is een rekenbladprogramma dat door Microsoft in 1985 werd uitgebracht voor de Apple Macintosh. In enkele jaren tijd werd het marktleider. Het succes van Excel heeft vele redenen, maar een ervan is ongetwijfeld de programmeertaal: Visual Basic for Applications (VBA). In dit hoofdstuk krijgt u een korte beschrijving van de ontstaansgeschiedenis en een bespreking van zowel het rekenbladgedeelte als de programmeertaal van Excel. U zult ook te weten komen waarom en wanneer u Excel VBA nodig heeft en welke problemen en eventuele gevaren er bij het gebruik van Excel VBA kunnen opdoemen. 1.1 Wat is Excel? Excel is een rekenbladprogramma of een spreadsheet. De naam spreadsheet komt uit de boekhoudwereld. In bedrijven hield men vroeger de kostenstaat handmatig bij op een groot kostenblad van soms wel bijna 1 m 2. Deze grote bladen, die men op het bureaublad moest uitspreiden, noemde men spreadsheets. Ontstaansgeschiedenis Spreadsheets liggen aan de basis van het succes van pc s. Het eerste elektronische rekenblad, VisiCalc, werd in 1978 ontwikkeld voor de AppleII-computer, een machine met 64 kb intern geheugen. Veel zakenmensen kochten toen een AppleII-computer met als enige bedoeling het pakket VisiCalc te kunnen gebruiken. Figuur 1.1 De eerste spreadsheet: VisiCalc VisiCalc was een rekenblad met 254 rijen en 63 kolommen (zie figuur 1.1). Een kolom was standaard 9 tekens breed en kon verbreed worden tot maximaal 37 tekens. Functies konden ingeven worden met de (zie in figuur 1.1). VisiCalc 1

9 Gestructureerd programmeren in Excel VBA kende al de meeste basisfuncties zoals SUM, AVERAGE, COUNT, ABS, INT, en was slechts bytes groot. Vergelijk dit eens met de bytes van excel.exe van Excel 2010 of met de bytes voor een volledig leeg rekenblad in Excel In januari 1983 kwam de tot dan toe onbekende firma Lotus Development Corporation op de markt met Lotus Dit pakket combineerde een krachtig rekenprogramma met elementaire grafieken en een kleine maar handige database. Zo gemakkelijk als tellen: 1, 2, 3! Microsoft had in 1982 zijn eerste spreadsheet, Multiplan, gelanceerd. Dit programma was allesbehalve succesvol en in 1985 werd Excel ontwikkeld voor de Apple Macintosh. Pas in november 1987 werd Excel voor Windows voorgesteld aan de pers. Men begon maar meteen met versie 2.0. Van toen af ging het snel: versie 3 kwam in 1990 op de markt, in 1992 was het de beurt aan versie 4 en in 1993 aan versie 5. In 1995 is er de versie voor Windows 95 (officieel versie 7 genoemd; dus ook hier slaat men een nummer over). Versie 8.0 komt uit als onderdeel van Office 97. In 1999 is het de beurt aan versie 9.0 of de zogenaamde Excel 2000 uitvoering. De XP-versie of Excel 2002 werd gelanceerd in mei Vanaf versie 2003 werd gesproken van Microsoft Office Excel om duidelijker te maken dat het een onderdeel was van de Microsoft Office Suite. Vervolgens kwam Excel 2007, dat gebruikmaakt van Office Open XML als haar primaire bestandsformaat. De laatst uitgebrachte versie is momenteel Excel Figuur 1.2 Mijlpalen in de ontwikkeling van spreadsheets Kenmerken Een spreadsheet wordt wel eens vergeleken met een krachtige rekenmachine (zie figuur 1.3). Maar zoals een tekstverwerker veel meer is dan een typemachine mag u ook een spreadsheet niet als een geavanceerde rekenmachine beschouwen. Een rekenpakket verschilt op de volgende essentiële punten. V De spreadsheet bestaat uit rijen en kolommen (maximaal rijen x kolommen in de huidige versie). Iedere kruising van een rij en kolom vormt een cel waarin u gegevens of formules kunt plaatsen. V Deze ingevoerde gegevens en formules worden onthouden en kunnen eventueel bewaard worden op een extern opslagmedium. V De gegevens en de formules worden duidelijk gescheiden. Indien u de berekeningen opnieuw wilt uitvoeren met andere gegevens, hoeft u alleen de gegevens aan te passen. Als de belasting wijzigt in het voorbeeld van figuur 1.3, hoeft u alleen cel A6 aan te passen en niet de volledige optelling opnieuw te doen zoals bij een rekenmachine. 2

10 Hoofdstuk 1 Inleiding V Bij wijziging van een gegeven wordt de spreadsheet automatisch opnieuw doorgerekend. Hierdoor is het zeer eenvoudig nieuwe scenario s uit te rekenen; u hoeft alleen de gegevens te veranderen. Ook kunt u (complexe) rekenmodellen construeren waarin later de gegevens worden gegoten. V Naast numerieke data kunt u ook tekst, datum- en tijdsaanduidingen en logische waarden gebruiken. De beschikbare operaties en functies zijn zeer uitgebreid. V Een spreadsheet kan als een eenvoudige database fungeren. Ook kunnen de gegevens gemakkelijk in de vorm van grafieken getoond worden. V Excel is voorzien van een krachtige programmeertaal: Visual Basic for Applications, afgekort als VBA. Hierdoor kunt u routinezaken eenvoudig uitvoeren, kunt u aangepaste formulieren voor gegevensinvoer ontwerpen en kunt u reageren op gebeurtenissen en zodoende de berekeningen van de spreadsheet aanpassen aan de specifieke situatie van het moment. Figuur 1.3 Berekening met een spreadsheet en een rekenmachine 1.2 Wat is Excel VBA? Vele handelingen in een rekenbladprogramma hebben een repeterend karakter. Meestal wilt u meer dan één cel opmaken of moet u meer dan eens een rij tussenvoegen op diverse plaatsen. Het automatiseren van deze taken stond dan ook op het verlanglijstje van vele gebruikers. Automatiseren wil zeggen dat een serie handelingen herleid wordt tot het uitvoeren van een automatisch verlopend en meestal kleiner aantal handelingen. Stel dat u een cel een rode achtergrondkleur wilt geven. In Excel moet u daarvoor achtereenvolgens: (1) de cel selecteren, (2) klikken op het menu Home, (3) klikken op Font, (4) kiezen voor het tabblad Fill, (5) een opvulkleur kiezen en (6) klikken op de OK-knop. Dit zijn heel wat klikken met de muis. Automatiseren wil zeggen dat u deze zes handelingen kunt vervangen door bijvoorbeeld het indrukken van een sneltoets. In de eerste spreadsheets verliep dit automatiseren hoofdzakelijk via het toetsenbord. Er werd gebruikgemaakt van een recorder die de toetsaanslagen opnam die nodig waren om een bepaalde taak uit te voeren. Het programma dat hieruit resulteerde was bijna een exacte kopie van de serie toetsaanslagen. In Lotus zag u dan bijvoorbeeld regels code zoals /fsbudget~r wat betekende bewaar het gewijzigde werkboek onder naam 3

11 Gestructureerd programmeren in Excel VBA budget.wks. Om dit handmatig te doen, moest u het menu File (f) activeren (aangegeven door de schuine streep /), dan het submenu Save (s), dan de naam van het werkboek invullen (budget; de extensie wks werd er automatisch bijgeplaatst), op de Enter-toets drukken (weergegeven door ~) en ten slotte kiezen voor de replace-optie (r). Excel was vanaf het begin minder gebonden aan de specifieke toetsaanslagen maar ook hier zag men duidelijk deze aanpak. Een nadeel van deze manier van programmeren was echter dat de betekenis van de toetsaanslagen niet mocht wijzigen tussen de verschillende versies van het programma. Als /fs een andere betekenis zou krijgen in een latere versie, zou bovenstaande macro waarschijnlijk niet meer het beoogde doel bereiken. Vanaf versie 5 zien we dat Excel zich ontwikkelt naar een volledige programmeeromgeving. Men spreekt dan ook niet meer over een macrotaal of het schrijven van macro s, maar over het schrijven van programma s in een programmeertaal. Men noemt dit ook wel coderen of het schrijven van code. Het begrip macro is overgenomen uit de wereld van de assembler-programmeur. De assembleertaal is een zeer primitieve taal, die dicht bij de machinetaal staat. Een nadeel van deze assembleercode was dat men zelfs voor de meest simpele dingen (zoals het tonen van een teken op het scherm) een uitgebreid programma met verschillende regels code moest schrijven. Programmeurs begonnen dan ook afkortingen te gebruiken voor bepaalde veelvoorkomende regels code. Op de plaats waar die regels moesten komen in het programma, werd dan alleen de afkorting genoteerd. Naast de tijdsbesparing verhoogde dit dikwijls ook de leesbaarheid van het programma. Op het moment dat het programma klaar was en men er een uitvoerbare versie wilde van maken, werden deze afkortingen dan omgezet naar de volledige sequentie van programmaregels waarvoor ze stonden. Men noemde deze afkortingen macro s, mogelijk omdat ze voor iets groters stonden. In Excel versie 5 werd de oude macrotaal dus vervangen door een volwaardige programmeertaal: Visual Basic for Applications. Voor een goed begrip van deze naam dient u het verband te kennen met twee andere programmeertalen: BASIC en Visual Basic. BASIC (Beginner s All-purpose Symbolic Instruction Code) was één van de eerste hogere programmeertalen en werd ontwikkeld in Terwijl deze eerste hogere programmeertalen zoals BASIC, FORTRAN en COBOL tekstgeoriënteerd waren, is Microsoft in 1991 op de markt gekomen met een versie van BASIC die gebruikmaakte van WIMP (Windows, Icons, Menus, Pointing devices) of, anders gezegd, visueel georiënteerd was. Zij noemden deze taal daarom Visual Basic. VBA is afgeleid van Visual Basic (en dus van BASIC) en speciaal aangepast aan een applicatie. De bedoeling van Microsoft is tot een gemeenschappelijke programmeeromgeving te komen voor de verschillende applicaties uit de Office-reeks. De eerste twee producten waar VBA werd geïmplementeerd, waren Excel en Project (een projectmanagementsysteem). Naderhand zijn daar Access, Word, PowerPoint en Outlook bijgekomen. We kennen nu bijvoorbeeld Excel VBA, Word VBA en Access VBA. Excel VBA is dus een programmeertaal die lijkt op Visual Basic, maar die speciaal aangepast is aan Excel. 4

12 Hoofdstuk 1 Inleiding Stel dat u in de voettekst van een document (zowel een Word-document als een Excelspreadsheet) de paginanummering wenst op te nemen. In Excel VBA zal deze macro er zo uitzien. Sub InvoegenBladzijdeNr_Excel() ActiveSheet.PageSetup.RightFooter = "&P" End Sub Deze code is goed leesbaar voor iemand die Excel kan bedienen en verraadt tegelijkertijd nog de band met de vroegere toetsenbordmacro s. Om in Excel met de hand het paginanummer rechtsonder aan de bladzijde te krijgen, moet u (let op de Engelstalige benaming van de menu s): V het werkblad selecteren waarin u een voettekst wilt (ActiveSheet), V klikken op het menu Page Layout, V kiezen voor Page Setup, V het tabblad Header/Footer selecteren, V klikken op Custom footer, V de Right Section selecteren, V en klikken op de knop voor het paginanummer, wat de code &[Page] oplevert. Dit wordt allemaal weergegeven door de Excel VBA-instructie: ActiveSheet.PageSetup.RightFooter = "&P" In Word ziet deze macro er als volgt uit: Sub InvoegenBladzijdeNr_Word() ActiveDocument.Sections(1).Footers(1).PageNumbers.Add End Sub Word heeft geen ActiveSheet maar wel een ActiveDocument met daarbinnen een of meer secties. Iedere sectie kan verschillende voetteksten hebben waar u een paginanummer aan kunt toevoegen. Het volgende voorbeeld betreft het kopiëren van cellen in Excel of tekst in Word. De via het toetsenbord opgenomen macro in Excel ziet er als volgt uit (we kopiëren de huidige cel naar de cel C1): Selection.Copy Range("C1").Select ActiveSheet.Paste De cel of cellen die geselecteerd waren op het moment dat de macro start, worden gekopieerd naar het klembord door de instructie Selection.Copy. Daarna wordt de cel C1 geselecteerd met de instructie Range("C1").Select. Ten slotte wordt de inhoud van het klembord geplakt met ActiveSheet.Paste. 5

13 Gestructureerd programmeren in Excel VBA De volgende Word-macro kopieert het geselecteerde woord twee woorden naar rechts. Merk de sterke gelijkenis op met de Excel-macro. Selection.Copy Selection.MoveRight Unit:=wdWord, Count:=3 Selection.Paste Met de eerste instructie wordt het geselecteerde woord gekopieerd naar het klembord. De tweede instructie verplaatst de selectie drie woorden naar rechts. De laatste instructie plakt de inhoud van het klembord. Merk op dat het verschil in beide macro s zit in het gebruik van de typische Excel- of Word-objecten (zoals ActiveSheet). 1.3 Waarom Excel VBA? Excel is een zeer krachtig pakket. U vraagt zich misschien af of er wel behoefte is aan een programmeeromgeving zoals VBA. Veel problemen kunnen vaak gemakkelijker of sneller opgelost worden met een macro, we geven hiervan twee voorbeelden Voorbeeld 1: aanpassen van gegevens Stel dat u in een werkboek de voorraad en de prijzen bijhoudt van uw producten (zie figuur 1.4). Op een bepaald moment besluit u de prijzen van alle producten waarvan er nog meer dan 100 stuks in voorraad zijn, te verlagen met 5%. Figuur 1.4 Excel-werkboek met producten, voorraad en prijzen In het voorbeeld van figuur 1.4 zou dit dus betekenen dat u de prijzen moet aanpassen van de producten AA-101 en B-166. Dit probleem is met de hand als volgt op te lossen, maar het is vrij omslachtig: V Maak een nieuwe kolom, bijvoorbeeld kolom D, met de aangepaste prijs. Gebruik hiervoor de volgende formule in cel D2: =IF($B2>100;$C2*0,95;$C2). V Kopieer deze formule naar het gebied D3:D4. Zie figuur 1.5. V Knip het gebied D2:D4 op het klembord. V Plak deze gegevens in het bereik C2:C4. Hiervoor moet u wel het menu Home Paste Values gebruiken. Als u gewoon zou plakken, krijgt u namelijk een kringverwijzing met foutboodschap. In cel D2 staat immers een formule met een verwijzing naar cel C2. Deze formule (die verwijst naar cel C2) zou u dan plakken in dezelfde cel C2. Daarom moet u het resultaat van de formule plakken in cel C2, en niet de formule zelf. 6

14 Hoofdstuk 1 Inleiding Figuur 1.5 Voorraadgegevens met formule voor de aangepaste prijs De handmatige oplossing voor dit probleem is als gezegd vrij omslachtig, vergt heel wat formules (en daardoor ook rekenkracht en geheugenruimte) en is foutgevoelig. Bovendien veronderstelt deze oplossing dat u nog een vrije kolom hebt in uw rekenblad, liefst in de buurt van kolom C. De oplossing met een macro is echter zeer eenvoudig en goed leesbaar. Het uitvoeren van de macro kan bijvoorbeeld gebeuren door het indrukken van een toetsencombinatie. Sub verlagen_prijzen() Dim c As Range For Each c In ActiveSheet.Range("C2:C4") If c.offset(0, -1).Value > 100 Then c.value = c.value * 0.95 End If Next c End Sub De macro zal iedere cel in het gebied C2:C4 onderzoeken. Als de cel links van de cel, aangegeven met de uitdrukking offset(0,-1), kleiner is dan 100, wordt de waarde in de cel verminderd met 5% Voorbeeld 2: voorwaardelijke opmaak Veel problemen, zoals het bovenstaande, kunnen vaak makkelijker of sneller opgelost worden met een macro. Soms kan het probleem alleen maar met een macro tot een goed einde gebracht worden. Het volgende voorbeeld illustreert dit. In een rekenblad staan de volgende gegevens; zie figuur 1.6. Figuur 1.6 Verkoopgegevens 7

15 Gestructureerd programmeren in Excel VBA Stel dat u alle verkopen een tekstkleur wilt geven afhankelijk van de volgende voorwaarden: Rood Blauw Groen Geel : < 100 stuks verkocht : 100 tot en met 499 verkocht : 500 tot en met 999 verkocht : > 999 stuks verkocht Een eerste (handmatige) poging wordt ondernomen met de voorwaardelijke opmaak. Selecteer eerst alle verkopen en klik op het menu Home Conditional Formatting New Rule Use a formula to determine which cells to format. Vervolgens vult u de voorwaarden in. Voorwaarde 1 wordt dan kleiner dan 100. Met de knop Format stelt u de kleur in. Klik op OK en dan opnieuw op New Rule om een tweede en daarna derde voorwaarde toe te voegen. Gebruik hier echter de voorwaarde AND() en vul beide grenzen in. Geef opnieuw de kleuren op. Alle voorwaarden staan in figuur 1.7. Figuur 1.7 Toevoegen van voorwaarden bij voorwaardelijke opmaak Deze opdracht kan echter gemakkelijk opgelost worden met behulp van een macro. Deze macro is zelfs voor iemand zonder programmeerkennis goed te begrijpen en gemakkelijk te wijzigen. Sub voorwaardelijkeopmaak() Dim c As Range, kleur As Long For Each c In Range("B3:E5") Select Case c.value Case Is < 100: kleur = vbred Case 100 To 499: kleur = vbblue Case 500 To 999: kleur = vbgreen Case Is > 999: kleur = vbyellow 8

16 Hoofdstuk 1 Inleiding End Select c.font.color = kleur Next c End Sub Iedere cel (afgekort als c) in het gebied B3:E5 wordt bekeken. Als de waarde van de cel kleiner is dan 100 wordt de kleur rood gedefinieerd. Is de waarde tussen 100 en 499 (inclusief grenzen) dan wordt de kleur blauw. Een soortgelijke instructie is opgenomen voor de andere voorwaarden. Ten slotte wordt deze kleur toegewezen aan de kleureigenschap van het lettertype van de onderzochte cel; met andere woorden, het getal wordt gekleurd en niet de achtergrond. Deze macro kan eenvoudig uitgevoerd worden en het resultaat ervan is dat iedere cel in het gebied B3:E5 de afgesproken kleur heeft. Het voordeel van deze macro is zijn eenvoudigheid. Indien we het gebied van cellen willen uitbreiden, is dit zeer snel gebeurd door één lijn code te veranderen. Bij de handmatige oplossing moet dit voor elke voorwaarde apart gedaan worden. Een nadeel van de macro ten opzichte van de voorwaardelijke opmaak is dat de kleur van de cellen niet automatisch wijzigt telkens als u een ander getal invoert. U moet dus de macro telkens opnieuw uitvoeren als andere gegevens zijn ingevoerd. 1.4 Problemen en gevaren van Excel VBA Excel VBA is een krachtige programmeertaal. Naast de vele voordelen dat dit oplevert, zijn er ook wat problemen en gevaren. Programmeren van Excel-macro s wordt meestal afgeschilderd als een moeilijke klus. Dit is ten dele waar. Werken met Excel VBA veronderstelt namelijk dat u twee vaardigheden beheerst. U moet goed vertrouwd zijn met het gebruik van Excel (zonder de programmeertaal). Dit wil zeggen dat concepten zoals gebied, rij, kolom, formule, absolute en relatieve celreferentie, en functie bekend zijn. Tussenvoegen van rijen en kolommen, verplaatsen en kopiëren, invoeren van functies en formules, opmaken van cellen, aanmaken van grafieken, enzovoort, mag evenmin een probleem zijn. Excel VBA is namelijk bedoeld om deze handmatige activiteiten te automatiseren. U hoeft geen expert te zijn, maar hoe meer u weet van Excel (zonder programmeertaal), hoe meer voordeel u kunt halen uit het gebruik van Excel VBA. Naast de kennis van Excel als rekenblad is ook enige kennis van programmeren vereist. Een programma is een verzameling van instructies die door een computer uitgevoerd kunnen worden. Een programma in Excel VBA zal dus instructies bevatten die door Excel uitgevoerd worden. Programmeren is dan de kunde (of kunst, volgens sommigen) van het samenstellen van zo n lijst instructies. Elk programma, ongeacht in welke programmeertaal, heeft een aantal gemeenschappelijke kenmerken. Iedere programmeertaal kent bijvoorbeeld elementaire gegevensstructuren zoals variabelen. Daarnaast kent een 9

17 Gestructureerd programmeren in Excel VBA programmeertaal ook een aantal controlestructuren zoals een herhaling of selectie. Veel handboeken voor Excel VBA veronderstellen dat de lezer deze kennis bezit, met andere woorden dat de lezer al kan programmeren in een andere programmeertaal dan Excel VBA. Meestal is deze veronderstelling niet juist. Een typische Excel-gebruiker is meestal geen doorgewinterde programmeur en hoeft dat ook niet te zijn. Dit boek onderscheidt zich van de andere doordat er evenveel aandacht geschonken wordt aan de programmeerkennis en de kennis van Excel (VBA). Het inbouwen van een programmeertaal in een applicatiepakket zoals Excel en Word zet ook de deur open voor allerlei vormen van misbruik. Men kan nuttige macro s schrijven in Excel VBA maar evengoed kan men macro s schrijven die gevaarlijk zijn, bijvoorbeeld documenten verwijderen of ongewenste versturen. Met het krachtiger worden van de VBA-programmeeromgeving is het aantal Word- en Excel-virussen dan ook sterk toegenomen. In juli 1996 werd het eerste Excel-virus, LAROUX genaamd, ontdekt. Dit virus was weliswaar niet destructief (het beschadigde bijvoorbeeld geen bestanden) maar verspreidde zichzelf wel en besmette alle documenten van Excel versie 5. Sindsdien zijn er tientallen virussen verschenen waarvan sommige niet zo onschadelijk waren. Microsoft heeft deze bedreiging ingezien en vanaf Excel 97 is er de mogelijkheid om het openen van spreadsheets met (verborgen) macro s te verhinderen. U kunt dit instellen met het menu Developer Code Macro Security (zie figuur 1.8). Figuur 1.8 Instellen van virusbeveiliging Indien de Developer tab niet aanwezig is, kunt u deze zichtbaar maken met Options. Dit is nodig om met macro s te kunnen werken. 10

18 Hoofdstuk 1 Inleiding Excel-bestanden met macro s kunnen ook alleen nog opgeslagen worden als *.xlsm bestanden (macro-enabled workbook). Normale Excel-workbooks slaat u op onder de extensie *.xlsx. Aangezien u bij het lezen van dit boek waarschijnlijk regelmatig een macro zult schrijven of een van de voorbeeldmacro s zult openen, is het beter dat u het beveiligingsniveau niet op het hoogste niveau zet. Als u de beveiliging op Disable all macros with notification zet (wat aan te raden is), zult u voor iedere spreadsheet die u wilt openen en die een macro bevat, expliciet moeten aangeven of u de macro ook wilt openen (zie figuur 1.9). Figuur 1.9 Boodschap bij het openen van een werkmap die macro s bevat 11

19 Hoofdstuk 2 De Excel-macrorecorder Een Excel VBA-programma of een macro is een verzameling van instructies die Excel kan uitvoeren. Maar hoe kunt u nu de precieze schrijfwijze van deze instructies achterhalen? Een mogelijkheid is gebruik te maken van de Excel-macrorecorder. Hierbij doet u voor, welke instructies opgenomen moeten worden. De macrorecorder neemt deze instructies op en bewaart ze, zodat u ze eventueel nog verder kunt bewerken of opnieuw kunt uitvoeren. Voor beginnende Excel VBA-gebruikers is de macrorecorder een zegen. Zij kunnen heel snel een macro opnemen en de syntaxis van bepaalde instructies te weten komen. Anderzijds levert de macrorecorder soms code op die onnodig omslachtig is. In dit hoofdstuk krijgt u eerst een kort voorbeeld. Daarna leert u hoe u de macrorecorder kunt starten en stoppen, de opgenomen code kunt bekijken en verbeteren, en opgenomen macro s kunt uitvoeren. 2.1 Voorbeeld: gebruik van de macrorecorder Stel dat u regelmatig moet schakelen tussen een werkblad waarbij de rasterlijnen zichtbaar zijn en een werkblad zonder rasterlijnen. U weet hoe u dat met de hand moet doen: met het menu View, dan kiezen voor het tabblad Show en het keuzevak Gridlines aan- of afvinken. De bedoeling van de macro die u nu gaat opnemen, is dat u aan de hand van een eenvoudige klik op een knop de rasterlijnen kunt in- of uitschakelen. Voer hiertoe de volgende acties uit. De verschillende onderdelen worden verderop besproken. V Start Excel, plaats de celaanwijzer in cel A1 van een leeg werkblad, bijvoorbeeld Blad1. Controleer dat de rasterlijnen zichtbaar zijn. V Start de macrorecorder. Klik hiervoor op het menu Developer Code en vervolgens voor Record Macro. V Typ als macronaam omschakelenrasterlijnen. De aanhalingstekens hoeft u niet te typen. Kies Crtl+Shift+O als sneltoets. Klik hiervoor in het vak Sneltoets en druk eerst de Shift-toets in en dan de letter O. Er verschijnt 'CRTL+SHIFT+O'. Laat de andere invulvelden zoals ze zijn. Klik op OK. V Klik op het menu View en kies voor het tabblad Show (mocht dat niet geselecteerd zijn). Verwijder het vinkje bij het keuzevak Gridlines. Klik op OK. V Stop de macrorecorder. Klik hiervoor op het menu Developer Code Stop Recording. V Zet de rasterlijnen weer aan (via Show; vink bij Gridlines het keuzevakje aan) en probeer de macro. Druk hiervoor op de gekozen sneltoets, Crtl+Shift+O. De rasterlijnen zullen afgezet worden. V Bekijk de macro en wijzig deze. Klik hiervoor op Developer Macros. Er verschijnt een lijst met macro s waaronder omschakelenrasterlijnen. Misschien staan er ook nog 13

20 Gestructureerd programmeren in Excel VBA andere. Selecteer de macro omschakelenrasterlijnen en klik op de knop Edit. De volgende tekst verschijnt (de commentaarregels zullen uiteraard verschillen): Sub omschakelenrasterlijnen() ' ' omschakelenrasterlijnen Macro ' ' Sneltoets: CTRL+SHIFT+O ' ActiveWindow.DisplayGridlines = False End Sub V Verander de regel ActiveWindow.DisplayGridlines = False in ActiveWindow.Display- Gridlines = Not ActiveWindow.DisplayGridlines V Sluit de Visual Basic editor door te klikken op het menu Close and Return to Microsoft Excel. V Probeer de macro uit door een aantal keren de sneltoets (Crtl+Shift+O) te gebruiken. Het resultaat is dat het venster schakelt tussen aan- en uitzetten van de rasterlijnen. V Maak een knop en koppel de macro aan het indrukken van deze knop. Klik hiervoor op Developer Controls Insert Button. Boven het werkblad verandert de cursor in een kruisje. Teken een rechthoek (niet te groot) door te slepen in het werkblad. Selecteer de macro omschakelenrasterlijnen in het venster Assign Macro to... en klik op OK. Klik buiten de knop op het werkblad. V Probeer de macro door te klikken op de knop. U hebt zojuist uw eerste Excel VBA-macro geschreven. De verschillende stappen worden hierna verder besproken. 2.2 Starten en stoppen van de macrorecorder Om een macro op te nemen moet u uiteraard eerst de macrorecorder starten. Dit kan gebeuren via het menu of een werkbalk. Starten van de recorder met het menu Klik op het menu Developer Code Record Macro (zie figuur 2.1) In een tweede venster (zie figuur 2.2) moet u bijkomende informatie opgeven, zoals de naam van de macro, de sneltoets waarmee u de macro wilt oproepen, de map waarin u de macro wilt opslaan en eventueel een beschrijving van de macro. De naam van de macro is gebonden aan bepaalde regels. De belangrijkste is dat de naam geen spaties mag bevatten. Om de naam toch leesbaar te houden, kunt u gebruikmaken van hoofdletters of van het onderstreepteken ( underscore ) zoals in mijnmacro of mijn_ macro. Een macronaam mag maximaal 255 tekens lang zijn, moet met een letter beginnen en mag naast de spatie ook geen speciale tekens bevatten zoals een punt, een 14

21 Hoofdstuk 2 De Excel-macrorecorder Figuur 2.1 Starten van de macrorecorder met het menu Figuur 2.2 Informatievenster bij het starten van de macrorecorder schuine streep, een dubbele punt, enzovoort. Eigenlijk kunt u het best alleen letters en cijfers gebruiken. Vermijd ook namen die instructies kunnen zijn zoals print, and,if. Excel maakt geen verschil tussen kleine letters en hoofdletters. Een sneltoets is een toetsencombinatie (bijvoorbeeld Ctrl+Shift+M) die u kunt gebruiken om de macro uit te voeren. U moet hiervoor een letter typen in het vak sneltoets. De uiteindelijke sneltoets is Crtl + de letter die u typt. Als u de hoofdlettertoets (Shift) ingedrukt houdt terwijl u de letter opgeeft, is de uiteindelijke sneltoets Ctrl+Shift+de letter die u typt. Het verdient de voorkeur om een hoofdletter te gebruiken omdat veel toetsencombinaties met de Ctrl-toets al gereserveerd zijn en uw toetsencombinatie voorrang heeft boven zo n eventueel eerder gereserveerde betekenis. Zo betekent Ctrl+c normaal gesproken kopiëren. Indien u deze toetsencombinatie kiest voor uw macro, wordt de gewone definitie overschreven en zal een onwetende gebruiker die wellicht eens van uw pc gebruikmaakt, raar opkijken als hij een cel wil kopiëren en in plaats daarvan uw macro activeert. In het vak Store macro in: kunt u kiezen tussen: This Workbook, New Workbook of Personal Macro Workbook. Als u kiest voor This Workbook kunt u de macro alleen uitvoeren als de huidige werkmap geopend is. Stel dat u de sneltoets Crtl+Shift+O heeft toegekend aan de macro omschakelenrasterlijnen, dan heeft deze sneltoets alleen maar 15

22 Gestructureerd programmeren in Excel VBA effect als de map geopend is waarin u de macro hebt opgenomen. U kunt de macro ook opnemen in een nieuwe werkmap, maar deze optie zult u waarschijnlijk erg weinig gebruiken. Ten slotte kunt u de macro ook opnemen in Personal Macro Workbook. Deze werkmap wordt automatisch (maar onzichtbaar) geopend als u Excel start. Dit wil zeggen dat alle macro s die in deze map zijn opgenomen steeds beschikbaar zullen zijn als u Excel start. De naam van de map is PERSONAL. XLSB. U kunt de map zichtbaar maken met het menu Developer Visual Basic; de map moet wel tenminste één macro bevatten. Deze map staat in de folder XLSTART. Alleen de macro s die u zeer veel gebruikt en in verschillende werkmappen neemt u op in deze Persoonlijke macrowerkmap.. Stoppen van de recorder met het menu Nadat u de macrorecorder hebt aangezet, krijgt u een onopvallende indicatie dat u aan het opnemen bent. In de statusbalk, de onderste lijn in het Excel venster, ziet u altijd de melding Record/Opname (zie figuur 2.3). Figuur 2.3 Statusbalk tijdens het opnemen van een macro Zolang deze melding zichtbaar is, bent u aan het opnemen. Het kan gebeuren dat u vergeet de recorder uit te zetten. Stel, u bent in de overtuiging dat de recorder uit staat en u wilt de macro eens uitproberen. Al uw acties worden dan nog steeds opgenomen, inclusief het proberen uit te voeren van de macro die u nog aan het opnemen bent. Dit geeft uiteraard rare effecten. 2.3 Opnemen met de macrorecorder De acties die u naderhand (herhaaldelijk) wilt uitvoeren, moet u eerst met de macrorecorder opnemen. Let daarbij op de volgende richtlijnen. V Probeer eerst de handelingen uit zonder de macrorecorder. Schrijf eventueel de sequentie op. De recorder neemt immers namelijk alle handelingen op, ook uw vergissingen. Gelukkig bezit de macrorecorder enige intelligentie en zal meestal slechts het resultaat van een handeling opnemen. Als u bijvoorbeeld achtereenvolgens de cellen A1, B2 en C5 aanklikt, krijgt u de volgende code: range("c5").select. De recorder heeft alleen het eindresultaat opgenomen. Als u echter een kolom verbergt en nadien weer zichtbaar maakt, zal de recorder toch deze twee acties opnemen en u de code leveren: Selection.EntireColumn.Hidden = True Selection.EntireColumn.Hidden = False Als u bijvoorbeeld een kolom zou verbergen en deze direct opnieuw zichtbaar zou maken, maar dit met behulp van de knop Ongedaan maken, dan neemt de recorder niets op. 16

23 Hoofdstuk 2 De Excel-macrorecorder V Controleer op de instelling After pressing Enter, move selection met het menu File Options Advanced. Het is gemakkelijker als u deze optie uitzet voor u macro s opneemt. V Denk na over de startpositie. Welke cel zal geselecteerd zijn als u straks de macro wilt uitvoeren? Welke gegevens zullen dan klaar staan? Zorg ervoor dat de Excel-werkomgeving bij het begin van de opname dezelfde is als bij het begin van het uitvoeren van de macro. Een fout die u misschien wel eens zult maken, is de macrorecorder te starten en dan te constateren dat u niet de correcte cel hebt geselecteerd. Indien u dan de correcte cel selecteert, wordt dat ook opgenomen in de macro. V Start de recorder en voer de acties uit. Vergeet niet de recorder te stoppen. V Een macro geeft vaak te veel code. Bekijk bijvoorbeeld het resultaat van volgende recordsessie (opgenomen met Home Font Fill Color). Sub kleurenmetmenu() ' ' kleurenmetmenu Macro ' ' With Selection.Font.Name = "Calibri".FontStyle = "Regular".Size = 11.Strikethrough = False.Superscript = False.Subscript = False.OutlineFont = False.Shadow = False.Underline = xlunderlinestylenone.color = 255.TintAndShade = 0.ThemeFont = xlthemefontminor End With End Sub Deze macro kan vervangen worden door een macro met één regel. Sub kleurenmetknopwerkbalk() ' ' kleurenmetknopwerkbalk Macro ' ' ' Selection.Font.ColorIndex = 3 End Sub 17

24 Gestructureerd programmeren in Excel VBA Als u een fout hebt gemaakt bij het opnemen van een macro, kunt u de macro altijd opnieuw opnemen. U kunt dan voor de nieuwe macro het best dezelfde naam kiezen als voor de foutieve macro. Op deze manier wordt de foutieve macro namelijk meteen verwijderd. U krijgt wel een boodschap dat er al een macro bestaat met die naam (zie figuur 2.4). Als u de oude (foutieve) macro toch wilt behouden, moet u een andere naam kiezen. Figuur 2.4 Schermboodschap als u over een bestaande macro probeert op te nemen De macro bekijken in de Visual Basic editor Stel dat u de volgende handelingen herhaaldelijk moet uitvoeren: een werkblad bijvoegen in het actieve werkboek, de datum van vandaag in de cel A1 plaatsen en deze datum opmaken als jjjj-mmm-dd zoals in 2011-mei-15. Start de macrorecorder; geef als naam bijvoegenwerkblad op en als sneltoets Crtl+Shift+B. Neem nu de volgende acties op. V Voeg een werkblad toe door te klikken op het menu Cells Insert Insert Sheet. V Plaats de datum van vandaag in cel A1 (die automatisch geselecteerd is na het toevoegen van een blad) met het menu Formulas Insert Function. Kies voor de categorie Date & Time en selecteer de functie TODAY in de lijst aan de rechterkant. V Maak de datum op door te klikken op het menu Home Font, vervolgens tabblad Number Custom te selecteren en daar de opmaak jjjj-mmm-dd te typen. Nadat u de recorder hebt gestopt, is het mogelijk om de code van de opgenomen macro te bekijken. Hiervoor moet u de Visual Basic editor starten (in hoofdstuk 3 wordt deze editor volledig besproken). V Klik op Developer Macros; V In het volgende venster (zie figuur 2.5) staan alle opgenomen macro s van het actieve werkblad; selecteer de macro aan die u wenst te bekijken en klik op Edit. De Visual Basic editor wordt gestart en de cursor wordt aan het begin van de macro geplaatst in het moduleblad (zie figuur 2.6). Dit moduleblad is automatisch bijgevoegd door de recorder en heeft meestal de naam module1. U ziet dit moduleblad staan in het venster Project; klik op het menu View Project Explorer als dit niet zichtbaar is. Alle macro s die u opneemt met de recorder worden in hetzelfde moduleblad (onder elkaar) geplaatst. 18

25 Hoofdstuk 2 De Excel-macrorecorder Figuur 2.5 Het venster Macros Figuur 2.6 De Visual Basic editor Een opgenomen macro begint met de instructie Sub en eindigt met End Sub. De macrorecorder heeft vier regels commentaar bijgevoegd. Alle regels waar een apostrof ( ) voor staat, worden niet als een instructie beschouwd en worden overgeslagen bij het uitvoeren van de macro. Deze tekst verschijnt op het scherm in groene kleur. Bij het opnemen van de macro hebt u de mogelijkheid een snelkoppeling toe te kennen aan de macro. Merk op dat de omschrijving van deze sneltoets als commentaar wordt opgenomen in de editor. Indien u geen snelkoppeling toewijst aan de macro verschijnt er een lege regel. Vergeet echter niet dat dit slechts commentaar is. Wijzigen van de sneltoetsletter in de commentaarregel zal dan ook niets veranderen. U kunt de sneltoets alleen veranderen door in het venster van figuur 2.5 te klikken op de knop Options... en daar de sneltoets aan te passen. 19

26 Gestructureerd programmeren in Excel VBA De macro uit het voorbeeld bevat drie instructies. Sheets.Add ActiveCell.FormulaR1C1 = "=TODAY()" Selection.NumberFormat = "yyyy-mmm-dd" De eerste instructie voegt een werkblad toe (Add) aan de reeds bestaande collectie van werkbladen (Sheets). In de tweede instructie wordt de functie TODAY() geplaatst in de actieve cel (cel A1) Relatief of absoluut opnemen Een formule in Excel kan celreferenties bevatten. In de cel A3 bijvoorbeeld kan de formule staan =A1+A2. Dit zijn echter relatieve celreferenties. Kopieert u deze formule bijvoorbeeld naar cel D10, dan zal de formule automatisch veranderen in =D8+D9. De oorspronkelijke formule zegt dus eigenlijk: bereken de som van de cellen die (relatief gezien) twee cellen en een cel boven mij staan. Een formule kan echter ook absolute celreferenties bevatten, of een combinatie. Als de formule in cel A3 was geweest =$A$1+$A$2, dan zou kopiëren naar cel D10 hetzelfde resultaat opleveren, namelijk =$A$1+$A$2. Het dollarteken voor de rij- en/of kolomaanduiding geeft aan dat u op absolute wijze aan deze rij of kolom refereert. Absoluut opnemen Net zoals men in Excel een rij of kolom kan vastzetten, kan men ook in de macrorecorder een absolute of relatieve opname maken. De standaardinstelling is absolute opname. Het schakelen tussen deze twee manieren van opnemen kunt u aangeven in Developer Code Use Relative References. Opname met de knop Use Relative References (zie figuur 2.7). Indrukken van deze knop zorgt ervoor dat de handelingen in Excel (bijvoorbeeld het verplaatsen van de celselectie) op een relatieve wijze worden geïnterpreteerd. Als de knop uit staat, zult u op absolute wijze opnemen (de standaardinstelling). Figuur 2.7 Opname met absolute en relatieve verwijzing Stel dat u de firmanaam bovenaan links in cel A1 van het werkblad wilt plaatsen. Hiervoor kunt u de volgende macro opnemen. V Selecteer een andere cel dan cel A1. V Start de macrorecorder en voer de naam van de macro en eventuele sneltoets in. Controleer of de knop Use Relative References uit staat. V Klik op cel A1; deze actie wordt dus absoluut opgenomen. V Typ de naam van het bedrijf. V Stop de recorder. 20

27 Hoofdstuk 2 De Excel-macrorecorder Het resultaat is de volgende code in de Visual Basic editor. Sub plaatsentitel() ' ' plaatsenhoofding Macro ' Range("A1").Select ActiveCell.FormulaR1C1 = "Mijn bedrijf" End Sub De eerste instructie weerspiegelt het klikken op cel A1. Dit is een absolute referentie. Het resultaat is steeds dat de cel A1 wordt geselecteerd, ongeacht waar de celselectie op dat moment zou staan. De tweede instructie schrijft de naam van het bedrijf in de actieve, geselecteerde cel. Dit is uiteraard cel A1, aangezien u vlak ervoor deze cel hebt geselecteerd. Het is mogelijk dat de code er bij u iets anders uitziet. Als u de cel A1 op voorhand had geselecteerd en dus tijdens het opnemen van de macro de celselectie niet hebt verplaatst (cel A1 was namelijk al geselecteerd), dan ziet de code zonder de commentaarregels er als volgt uit: Sub plaatsentitel() ActiveCell.FormulaR1C1 = "Mijn Bedrijf" End Sub Omdat tijdens het opnemen van de macro de selectie niet verplaatst is, gaat de macrorecorder ervan uit dat u de tekst in de actieve (geselecteerde) cel wilt plaatsen. Mogelijk kunt u echter ook het volgende krijgen. Sub plaatsentitel() Range("A1").Select ActiveCell.FormulaR1C1 = "Mijn Bedrijf" Range("A2").Select End Sub Dit gebeurt als het indrukken van de Enter-toets ervoor zorgt dat de cursor één cel lager komt te staan. Iedere keer als u op Enter drukt, wordt de cursor een cel lager geplaatst. Bij het opnemen van macro s is het echter aan te raden deze optie uit te zetten. Dit doet u met het menu File Options Advanced. Markeer het selectievak After pressing Enter, move selection. 21

28 Gestructureerd programmeren in Excel VBA De macrorecorder neemt immers deze verplaatsing ook op. In vele gevallen echter wilt u meerdere acties toepassen op één cel. Relatief opnemen Als u, voor het opnemen, de knop Use Relative References indrukt (zie figuur 2.7) zal de macrorecorder alle celverwijzingen als relatief interpreteren. Neem dezelfde macro op als hierboven. V Selecteer een andere cel dan cel A1, bijvoorbeeld cel A5. V Start de macrorecorder en geef de naam van de macro en eventuele sneltoets in. Druk de knop Use Relative References in. V Klik op cel A1. V Typ de naam van het bedrijf. V Stop de recorder. Als bij het opnemen eerst de knop Use Relative References wordt ingedrukt, zal de recorder een verplaatsing steeds noteren ten opzichte van de cel die op het moment van de opname geselecteerd is; de zogenaamde actieve cel. Iedere keer dat u de macro uitvoert, zal de macro vanuit de op dat moment actieve cel een aantal rijen naar onder of boven gaan en een bepaald aantal kolommen naar links of naar rechts. In bovenstaand voorbeeld wordt vier rijen naar boven gesprongen en nul kolommen naar links of rechts. Sub plaatsentitelrelatief() ' ' plaatsenhoofdingrelatief Macro ' Sneltoets: CTRL+SHIFT+R ' ActiveCell.Offset(-4, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "Mijn Bedrijf" End Sub De eerste instructie kunt u het best als volgt lezen: selecteer de cel A1 in het bereik dat verkregen wordt door vanuit de actieve cel een sprong te maken van 4 rijen naar omhoog en nul kolommen naar rechts/links. De referentie naar de cel A1 is hier dus relatief bedoeld, namelijk ten opzichte van de actieve cel. Deze instructie kan ook als volgt geschreven worden zonder dat de functionaliteit van de macro verandert. ActiveCell.Offset(-4, 0).Select Deze instructie leest iets gemakkelijker: selecteer de cel die 4 rijen boven de actieve cel ligt. Doordat de macrorecorder de meest algemene gevallen moet kunnen voorzien, is er een iets ingewikkelder constructie gebruikt. 22

29 Hoofdstuk 2 De Excel-macrorecorder Relatief opnemen heeft voordelen. De acties die uitgevoerd worden, zijn steeds ten opzichte van de plaats waar de cursor zich bevindt bij uitvoering. Dus, de instructies ActiveCell.Offset(-0, 0).Select ActiveCell.FormulaR1C1 = "Mijn Bedrijf" of ActiveCell.Select ActiveCell.FormulaR1C1 = "Mijn Bedrijf" of ActiveCell.FormulaR1C1 = "Mijn Bedrijf" plaatsen allemaal de tekst Mijn Bedrijf in de cel die geselecteerd is op het moment van uitvoeren van de macro. Dit is bijvoorbeeld handig als u een ingewikkelde opmaak telkens op een andere cel wilt toepassen. Een relatief opgenomen macro kan soms fouten veroorzaken tijdens het uitvoeren. Stel dat de cel A2 geselecteerd is en dat u de macro plaatsentitelrelatief uitvoert. De foutboodschap van figuur 2.8 verschijnt dan op het scherm. De tekst ervan is nogal cryptisch. Als u op de knop End klikt, stopt de macro en komt u terecht in het modulevenster. Klikken op de knop Debug brengt u naar de instructie waar de fout is opgetreden; in dit geval de regel met de offset-instructie. Nu is de fout wel duidelijk. We stonden in cel A2, dus rij 2, en deze instructie wil een cel selecteren die 4 rijen hoger ligt. Dit kan uiteraard niet en levert een fout op. In de latere hoofdstukken zult u leren hoe te testen op deze situatie. Figuur 2.8 Foutboodschap na uitvoeren van macro plaatsenhoofdingrelatief 2.4 Uitvoeren van een macro Een macro kan op drie manieren gestart of uitgevoerd worden: met een sneltoets, met het menu of met een knop op het werkblad. 23

Hoofdstuk 19: Macro s

Hoofdstuk 19: Macro s Hoofdstuk 19: Macro s 19.0 Inleiding Als je steeds dezelfde actie moet uitvoeren in Excel, dan kan het de moeite waard zijn om in plaats daarvan een macro uit te voeren (afgeleid van het Griekse "μάκρο",

Nadere informatie

Taken automatiseren met Visual Basicmacro's

Taken automatiseren met Visual Basicmacro's Taken automatiseren met Visual Basicmacro's Als u niet bekend bent met macro's, moet u zich niet hierdoor laten afschrikken. Een macro is een opgenomen set toetsaanslagen en instructies waarmee u een taak

Nadere informatie

Onderzoek als project

Onderzoek als project Onderzoek als project Onderzoek als project Met MS Project Ben Baarda Jan-Willem Godding Eerste druk Noordhoff Uitgevers Groningen/Houten Ontwerp omslag: Studio Frank & Lisa, Groningen Omslagillustratie:

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Beginners 2013. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: mei 2013

Auteur boek: Vera Lukassen Titel boek: Excel Beginners 2013. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: mei 2013 Auteur boek: Vera Lukassen Titel boek: Excel Beginners 2013 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: mei 2013 ISBN: 978-90-817910-8-3 Dit boek is gedrukt op een papiersoort

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2013. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: December 2013

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2013. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: December 2013 Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2013 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: December 2013 ISBN: 978-90-820856-9-3 Dit boek is gedrukt op een papiersoort

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Word Gevorderd 2010. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: augustus 2012

Auteur boek: Vera Lukassen Titel boek: Word Gevorderd 2010. 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: augustus 2012 Auteur boek: Vera Lukassen Titel boek: Word Gevorderd 2010 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: augustus 2012 ISBN: 978-90-817910-7-6 Dit boek is gedrukt op een papiersoort

Nadere informatie

9.18 Macro s: oefeningen

9.18 Macro s: oefeningen 9.18 Macro s: oefeningen Oefening 77.: Macro relatief opnemen Open een nieuwe map. Plaats uw invoercel ergens in de linker-bovenhoek van het blad (bijvoorbeeld in B2). Start het opnemen van een macro met

Nadere informatie

9.19 Macro s: oefeningen

9.19 Macro s: oefeningen 9.19 Macro s: oefeningen Oefening 84.: Macro relatief opnemen Open een nieuwe map. Plaats uw invoercel ergens in de linker-bovenhoek van het blad (bijvoorbeeld in B2). Start het opnemen van een macro met

Nadere informatie

Arbo- en verzuimbeleid

Arbo- en verzuimbeleid r i c h t l i j n v o o r d e a r b o c a t a l o g u s Arbo I n f o r m a t i e 1 Arbo- en verzuimbeleid Elfde herziene druk Arbo-Informatieblad 1 1-12-2010 11:02:47 colofon Uitgave Sdu Uitgevers Sdu

Nadere informatie

Handleiding e-mail. Aan de slag. in beroep en bedrijf. Handleiding e-mail

Handleiding e-mail. Aan de slag. in beroep en bedrijf. Handleiding e-mail Aan de slag in beroep en bedrijf Branche Uitgevers 1 Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand dan wel openbaar gemaakt

Nadere informatie

Automatisch handelingen uitvoeren

Automatisch handelingen uitvoeren Excellerend Heemraadweg 21 2741 NC Waddinxveen 06 5115 97 46 richard@excellerend.nl BTW: NL0021459225 BANK: NL72ABNA0524989982 KVK: 24389967 Automatisch handelingen uitvoeren Wanneer je periodiek in Excel

Nadere informatie

Antwoorden op de vragen

Antwoorden op de vragen Wegwijs in Excel 2007 Antwoorden op de vragen Hannie van Osnabrugge u i t g e v e r ij c o u t i n h o c bussum 2008 Deze antwoorden horen bij de vragen in Wegwijs in Excel 2007 van Hannie van Osnabrugge.

Nadere informatie

RESULTAATGERELATEERDE

RESULTAATGERELATEERDE erde OVER NO CURE NO PAY RESULTAATGERELATEERDE BELONING Resultaatgerelateerde beloning Over no cure no pay OVER NO CURE NO PAY RESULT AATGERELATEERDE BELONING RESULTAATGERELATEERDE BELONING 02 Resultaatgerelateerde

Nadere informatie

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina.

U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina. Gegevens exporteren en bewerken vanuit GRIEL Stap 1. Selecteer de juiste gegevens en download deze 1. Stel het datumfilter in op de gewenste periode. Druk op ververs. 2. Maak met behulp van het filter

Nadere informatie

Antwoorden op de vragen

Antwoorden op de vragen Wegwijs in Windows 8.1 Antwoorden op de vragen Hannie van Osnabrugge u i t g e v e r ij c o u t i n h o c bussum 2015 Deze antwoorden horen bij de vragen in Wegwijs in Windows 8.1 van Hannie van Osnabrugge.

Nadere informatie

www.dubbelklik.nu Handleiding Access 2010

www.dubbelklik.nu Handleiding Access 2010 www.dubbelklik.nu Handleiding Access 2010 Deze handleiding is onderdeel van Dubbelklik, een lesmethode Technologie, ICT/ Loopbaanoriëntatie en Intersectoraal Alle rechten voorbehouden. Niets uit deze uitgave

Nadere informatie

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO---

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF--- --- Reken om naar EURO--- 3UREOHPHQRSORVVHQPHW9%$WRHSDVVLQJHQELMGHHO Naam. NR : Klas. PC : Datum. 23*$9( Hieronder vind je het algoritme om een bedrag in BEF om te rekenen naar EURO. Zet het algoritme om in programmacode. Noem

Nadere informatie

Antwoorden op de vragen

Antwoorden op de vragen Wegwijs in Excel 2010 Antwoorden op de vragen Hannie van Osnabrugge u i t g e v e r ij c o u t i n h o c bussum 2011 Deze antwoorden horen bij de vragen in Wegwijs in Excel 2010 van Hannie van Osnabrugge.

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

Nadere informatie

Hoofdstuk 8: Bewerken

Hoofdstuk 8: Bewerken Hoofdstuk 8: Bewerken 8.0 Inleiding Bewerken in Excel gaat grotendeels hetzelfde als het bewerken in andere Microsoft Office programma s. Als het bekend is hoe in Word tekst te knippen en plakken, dan

Nadere informatie

1 De werkmap beschermen

1 De werkmap beschermen 1 De werkmap beschermen Er zijn veel redenen om een werkmap, of delen ervan, te willen afschermen of beschermen. Het kan zijn dat delen van een werkblad gegevens bevatten die nodig zijn bij een berekening,

Nadere informatie

Beheren van middelen in Web- Planboard

Beheren van middelen in Web- Planboard Handleiding Beheren van middelen in Web- Planboard versie juni 2010 Ambachtsweg 16 2641 KS Pijnacker Tel: +31.(0)15.3613497 Fax: +31.(0)15.3610029 E-mail: info@bitbybit-is.nl Web: www.bitbybit-is.nl Wijzigingsbladen

Nadere informatie

Wegwijs in de wereld van internet

Wegwijs in de wereld van internet Wegwijs in de wereld van internet Werkbladen les 5 voor Windows Vista (Windows Mail) Hannie van Osnabrugge Vijfde, herziene druk bussum 2010 Deze werkbladen horen bij Wegwijs in de wereld van internet

Nadere informatie

INHOUD. Ten geleide 13. 1 Excel 2007-2010 Basis 15

INHOUD. Ten geleide 13. 1 Excel 2007-2010 Basis 15 INHOUD Ten geleide 13 1 Excel 2007-2010 Basis 15 1.1 Inleiding 15 1.2 Excel 2007-2010 samengevat 15 1.2.1 Configuratie instellen en de werkomgeving aanpassen 15 1.2.1.1 Een knop toevoegen aan de werkbalk

Nadere informatie

Manual e-mail. Aan de slag. in beroep en bedrijf. Manual e-mail

Manual e-mail. Aan de slag. in beroep en bedrijf. Manual e-mail Aan de slag in beroep en bedrijf Branche Uitgevers 1 Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand dan wel openbaar gemaakt

Nadere informatie

Hoofdstuk 7: Als Excel vastloopt

Hoofdstuk 7: Als Excel vastloopt Hoofdstuk 7: Als Excel vastloopt 7.0 Inleiding De meeste mensen die Excel gebruiken hebben af en toe te maken met vertraging en vastlopen van het systeem. Soms verschijnt zelfs de boodschap "Er is een

Nadere informatie

Extra les Muis en toetsenbord

Extra les Muis en toetsenbord Wegwijs in Windows 8.1 Extra les Muis en toetsenbord Hannie van Osnabrugge u i t g e v e r ij c o u t i n h o c bussum 2015 Deze extra les over het werken met de muis en het toetsenbord hoort bij Wegwijs

Nadere informatie

Thuis in de Wereld van Word

Thuis in de Wereld van Word Thuis in de Wereld van Word Les 6 Enveloppen en etiketten Aangepaste les voor Word 2000 Hannie van Osnabrugge & Marian Ponsioen-van der Hulst u i t g e v e r ij c o u t i n h o c bussum 2005 Deze aangepaste

Nadere informatie

Basis Excel cursus 2013

Basis Excel cursus 2013 Basis Excel cursus 2013 Learnit Training Gratis cursus Excel 2013 Deze Learnit cursus is ontwikkeld om u een indruk te geven van het rekenprogramma Excel 2013 en haar mogelijkheden. In zes lessen leert

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Beginners , Serasta Uitgegeven in eigen beheer Eerste druk: december 2012

Auteur boek: Vera Lukassen Titel boek: Excel Beginners , Serasta Uitgegeven in eigen beheer Eerste druk: december 2012 Auteur boek: Vera Lukassen Titel boek: Excel Beginners 2010 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: december 2012 ISBN: 978-90-817910-4-5 Dit boek is gedrukt op een papiersoort

Nadere informatie

Hoofdstuk 23: Eenvoudig taken automatiseren met macro s

Hoofdstuk 23: Eenvoudig taken automatiseren met macro s Hoofdstuk 23: Eenvoudig taken automatiseren met macro s 23.0 Inleiding Macro s kunnen gebruikt worden om wat je doet in Word te automatiseren. Ze kunnen geschreven worden met Visual Basic for Applications

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Expert 2013. 2013, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: November 2013

Auteur boek: Vera Lukassen Titel boek: Excel Expert 2013. 2013, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: November 2013 Auteur boek: Vera Lukassen Titel boek: Excel Expert 2013 2013, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: November 2013 ISBN: 978-90-820856-4-8 Dit boek is gedrukt op een papiersoort

Nadere informatie

EXCEL MACRO ZET TEKST IN GESELECTEERDE CELLEN OM NAAR KLEINE LETTERS

EXCEL MACRO ZET TEKST IN GESELECTEERDE CELLEN OM NAAR KLEINE LETTERS EXCEL 2002-2003 MACRO ZET TEKST IN GESELECTEERDE CELLEN OM NAAR KLEINE LETTERS Open Excel met een leeg werkblad, klik 'Extra'-'Macro'-'Nieuwe macro opnemen' Geef de naam voor de macro (hier: 'Kleinletter')

Nadere informatie

Bijlage Inlezen nieuwe tarieven per verzekeraar

Bijlage Inlezen nieuwe tarieven per verzekeraar ! Bijlage inlezen nieuwe tarieven (vanaf 3.2) Bijlage Inlezen nieuwe tarieven per verzekeraar Scipio 3.303 biedt ondersteuning om gebruikers alle tarieven van de verschillende verzekeraars in één keer

Nadere informatie

Antwoorden op de vragen

Antwoorden op de vragen Wegwijs in Windows 8 Antwoorden op de vragen Hannie van Osnabrugge u i t g e v e r ij c o u t i n h o c bussum 2013 Deze antwoorden horen bij de vragen in Wegwijs in Windows 8 van Hannie van Osnabrugge.

Nadere informatie

INHOUDSOPGAVE. Inhoudsopgave

INHOUDSOPGAVE. Inhoudsopgave INHOUDSOPGAVE Inhoudsopgave Microsoft Word 7 Werken met het lint 7 Documenten maken en bewerken 8 In verschillende weergaven werken 11 Tekens en alinea s opmaken 13 Tekst en afbeeldingen bewerken en verplaatsen

Nadere informatie

Handleiding Programmeren en bewerken CAM (graveermachine) Aan de slag. in beroep en bedrijf. Handleiding Programmeren en bewerken CAM (graveermachine)

Handleiding Programmeren en bewerken CAM (graveermachine) Aan de slag. in beroep en bedrijf. Handleiding Programmeren en bewerken CAM (graveermachine) Aan de slag in beroep en bedrijf Handleiding Programmeren en bewerken CAM (graveermachine) Branche Uitgevers 1 Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden , Serasta Uitgegeven in eigen beheer Eerste druk: augustus 2011

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden , Serasta Uitgegeven in eigen beheer Eerste druk: augustus 2011 Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2007 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: augustus 2011 ISBN: 978-90-817910-0-7 Dit boek is gedrukt op een papiersoort

Nadere informatie

Thuis in Word Antwoorden op de vragen. Hannie van Osnabrugge Marian Ponsioen-van der Hulst

Thuis in Word Antwoorden op de vragen. Hannie van Osnabrugge Marian Ponsioen-van der Hulst Thuis in Word 2007 Antwoorden op de vragen Hannie van Osnabrugge Marian Ponsioen-van der Hulst bussum 2009 Deze antwoorden horen bij de vragen in Thuis in Word 2007 van Hannie van Osnabrugge en Marian

Nadere informatie

Wegwijs in de wereld van internet

Wegwijs in de wereld van internet Wegwijs in de wereld van internet Werkbladen les 4 voor Windows Vista (Windows Mail) Hannie van Osnabrugge Vijfde, herziene druk bussum 2010 Deze werkbladen horen bij Wegwijs in de wereld van internet

Nadere informatie

Les 7 Doen: Windows Live Mail

Les 7 Doen: Windows Live Mail Wegwijs in Windows 7 Les 7 Doen: Windows Live Mail Vervangende les voor Windows Live Mail versie 2011 Hannie van Osnabrugge bussum 2011 Deze vervangende les voor Windows Live Mail versie 2011 hoort bij

Nadere informatie

HOOFDSTUK 1. beginnen met excel

HOOFDSTUK 1. beginnen met excel HOOFDSTUK 1 beginnen met excel Inleiding Voor het betere rekenwerk in de bedrijfseconomie worden spreadsheets (rekenbladen) gebruikt. In dit hoofdstuk leer je omgaan met algemene basisbewerkingen in Excel:

Nadere informatie

Excel 2010, H1 HOOFDSTUK 1

Excel 2010, H1 HOOFDSTUK 1 HOOFDSTUK 1 Excel opstarten en afsluiten EXCEL kan worden opgestart via. Als EXCEL al vaker is gestart kun je direct op Microsoft Office EXCEL 2010 klikken. Typ anders in het zoekvak de eerste letters

Nadere informatie

Aan de slag. Handleiding Voorraadbeheer

Aan de slag. Handleiding Voorraadbeheer Aan de slag in beroep en bedrijf Handleiding Voorraadbeheer februari 2007 Branche Uitgevers 1 Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2010 Engels

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2010 Engels Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2010 Engels 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl 1ste druk: september 2015 ISBN: Dit boek is gedrukt op een papiersoort die

Nadere informatie

Europees Computer Rijbewijs. module 4. Excel Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: september 2004 ISBN:

Europees Computer Rijbewijs. module 4. Excel Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: september 2004 ISBN: Europees Computer Rijbewijs module 4 Excel 2003 2004 Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: september 2004 ISBN: 90 460 0102 4 Alle rechten voorbehouden. Niets uit deze uitgave mag worden

Nadere informatie

www.digitalecomputercursus.nl 6. Reeksen

www.digitalecomputercursus.nl 6. Reeksen 6. Reeksen Excel kan datums automatisch uitbreiden tot een reeks. Dit betekent dat u na het typen van een maand Excel de opdracht kan geven om de volgende maanden aan te vullen. Deze voorziening bespaart

Nadere informatie

Handleiding Sonus Communicator voor Rion NL-22 - NL-32

Handleiding Sonus Communicator voor Rion NL-22 - NL-32 versie: V1.0 projectnummer: 04023 datum: oktober 2004 Postbus 468 3300 AL Dordrecht 078 631 21 02 2004, Dordrecht, The Netherlands Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd,

Nadere informatie

VBA voor doe-het-zelvers

VBA voor doe-het-zelvers VBA voor doe-het-zelvers Handleiding van Auteur: Leofact December 2013 Inleiding VBA is de taal die Microsoft heeft ontwikkeld om taken voor het MS office pakket te automatiseren, of om er nieuwe functies

Nadere informatie

Macro s maken Word nog sneller

Macro s maken Word nog sneller Les 15 Macro s maken Word nog sneller In deze les leert u eenvoudige macro s opnemen en gebruiken. We gaan een macro niet alleen opnemen, maar ook aanpassen, zodat er een bestandsnaam voor het opslaan

Nadere informatie

Webmail met Windows Live Hotmail

Webmail met Windows Live Hotmail Wegwijs in internet Webmail met Windows Live Hotmail Hannie van Osnabrugge u i t g e v e r ij coutinho c bussum 2011 Deze handleiding Webmail met Windows Live Hotmail hoort bij Wegwijs in internet van

Nadere informatie

SNELLE INVOER MET EXCEL

SNELLE INVOER MET EXCEL SNELLE INVOER MET EXCEL Naam Nr Klas Datum Het is de bedoeling dat je de gegevens van een tabel op efficiënte wijze invoert, dat betekent: correct en snel! Microsoft Excel biedt verscheidene mogelijkheden

Nadere informatie

EXCEL MACRO ZET TEKST IN GESELECTEERDE CELLEN OM: NAAR KLEINE LETTERS NAAR KLEINE LETTERS MET BEGINHOOFDLETTER NAAR HOOFDLETTERS

EXCEL MACRO ZET TEKST IN GESELECTEERDE CELLEN OM: NAAR KLEINE LETTERS NAAR KLEINE LETTERS MET BEGINHOOFDLETTER NAAR HOOFDLETTERS EXCEL 2007-2010 MACRO ZET TEKST IN GESELECTEERDE CELLEN OM: NAAR KLEINE LETTERS NAAR KLEINE LETTERS MET BEGINHOOFDLETTER NAAR HOOFDLETTERS 1 Macro om de tekst in geselecteerde cellen om te zetten naar

Nadere informatie

Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan.

Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan. Een mailing verzorgen Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan. Voor deze techniek zijn twee bestanden

Nadere informatie

Antwoorden op de vragen

Antwoorden op de vragen Thuis in Word 2010 Antwoorden op de vragen Hannie van Osnabrugge Marian Ponsioen-van der Hulst bussum 2011 Deze antwoorden horen bij de vragen in Thuis in Word 2010 van Hannie van Osnabrugge en Marian

Nadere informatie

Van macrorecorder door naar VBA

Van macrorecorder door naar VBA Van macrorecorder door naar VBA Geo van Dijk Excel Experience Day 2014 Opbouw van de sessie Waarom macro s/ VBA? VBA procedures opnemen met de macrorecorder. De VBA Editor (VBE). Macro s opnemen die van

Nadere informatie

6. Absolute en relatieve celadressering

6. Absolute en relatieve celadressering 6. Absolute en relatieve celadressering In deze module leert u: - Wat absolute en relatieve celadressering is; - De relatieve celadressering toepassen; - De absolute celadressering toepassen; - De absolute

Nadere informatie

www.dubbelklik.nu Handleiding Paint 2003

www.dubbelklik.nu Handleiding Paint 2003 Handleiding Paint 2003 www.dubbelklik.nu Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand dan wel openbaar gemaakt in enige

Nadere informatie

Basistechnieken Microsoft Excel in 15 minuten

Basistechnieken Microsoft Excel in 15 minuten Basistechnieken Microsoft Excel in 15 minuten Microsoft Excel is een rekenprogramma. Je kan het echter ook heel goed gebruiken voor het maken van overzichten, grafieken, planningen, lijsten en scenario's.

Nadere informatie

De basis van het Boekhouden

De basis van het Boekhouden De basis van het Boekhouden Werkboek Niveau 3 BKB/elementair boekhouden Hans Dijkink de basis van het boekhouden Niveau 3 BKB/elementair boekhouden Werkboek Hans Dijkink Noordhoff Uitgevers Groningen/Houten

Nadere informatie

5 FORMULES EN FUNCTIES

5 FORMULES EN FUNCTIES 72 5 FORMULES EN FUNCTIES Dit hoofdstuk behandelt één van de belangrijkste aspecten van spreadsheet programma s: het rekenen met formules en functies. 5.1 Formules invoeren Bij dit onderwerp gebruikt u

Nadere informatie

Badge it. Inhoudsopgave. 1. Installatie... 3

Badge it. Inhoudsopgave. 1. Installatie... 3 Badge it voor Windows 95/98/NT/2000/XP Inhoudsopgave 1. Installatie... 3 2. Start... 4 2.1. Nieuwe database maken... 5 2.2. De geselecteerde database openen... 5 2.3. De naam van de geselecteerde database

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden , Serasta Uitgegeven in eigen beheer Eerste druk: December 2012

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden , Serasta Uitgegeven in eigen beheer Eerste druk: December 2012 Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2010 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: December 2012 ISBN: 978-90-817910-5-2 Dit boek is gedrukt op een papiersoort

Nadere informatie

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 De website bij het boek 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 Uw voorkennis 9 Bonushoofdstukken

Inhoudsopgave Voorwoord 7 Nieuwsbrief 7 De website bij het boek 7 Introductie Visual Steps 8 Wat heeft u nodig? 8 Uw voorkennis 9 Bonushoofdstukken Inhoudsopgave Voorwoord... 7 Nieuwsbrief... 7 De website bij het boek... 7 Introductie Visual Steps... 8 Wat heeft u nodig?... 8 Uw voorkennis... 9 Bonushoofdstukken... 9 Hoe werkt u met dit boek?... 10

Nadere informatie

Hoofdstuk 13: Sorteren & Filteren* 2010

Hoofdstuk 13: Sorteren & Filteren* 2010 Hoofdstuk 13: Sorteren & Filteren* 2010 13.0 Inleiding Spreadsheets bieden meer grip op gegevens. De twee beste manieren om meer grip te krijgen, is door de gegevens te sorteren of door bepaalde waarden

Nadere informatie

Programmeren in Excel VBA. Karel Nijs 2010/09

Programmeren in Excel VBA. Karel Nijs 2010/09 Programmeren in Excel VBA Karel Nijs 2010/09 Leswijze Eerst wat theorie Begeleid met (korte) oefeningen MsExcel 2003 Online hulp: http://www.ozgrid.com/vba/ http://msdn.microsoft.com/en-us/library/sh9ywfdk(vs.80).aspx

Nadere informatie

Afdrukken in Calc Module 7

Afdrukken in Calc Module 7 7. Afdrukken in Calc In deze module leert u een aantal opties die u kunt toepassen bij het afdrukken van Calc-bestanden. Achtereenvolgens worden behandeld: Afdrukken van werkbladen Marges Gedeeltelijk

Nadere informatie

Inhoudsopgave Voorwoord 5 Nieuwsbrief 5 Introductie Visual Steps 6 Wat heeft u nodig? 6 De volgorde van lezen 7 Uw voorkennis

Inhoudsopgave Voorwoord 5 Nieuwsbrief 5 Introductie Visual Steps 6 Wat heeft u nodig? 6 De volgorde van lezen 7 Uw voorkennis Inhoudsopgave Voorwoord... 5 Nieuwsbrief... 5 Introductie Visual Steps... 6 Wat heeft u nodig?... 6 De volgorde van lezen... 7 Uw voorkennis... 8 Hoe werkt u met dit boek?... 8 Website... 9 Toets uw kennis...

Nadere informatie

Hoofdstuk 21: Gegevens samenvatten

Hoofdstuk 21: Gegevens samenvatten Hoofdstuk 21: Gegevens samenvatten 21.0 Inleiding In Excel kunnen grote (en zelfs ook niet zo grote) tabellen met getallen en tekst er nogal intimiderend uitzien. Echter, Excel komt helemaal tot haar recht

Nadere informatie

Auteurs boek: Vera Lukassen en René Valster Titel boek: Basis Computergebruik Versies: Windows 7 & Windows 8

Auteurs boek: Vera Lukassen en René Valster Titel boek: Basis Computergebruik Versies: Windows 7 & Windows 8 Auteurs boek: Vera Lukassen en René Valster Titel boek: Basis Computergebruik Versies: Windows 7 & Windows 8 2014, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: Augustus 2014 ISBN: 978-94-91998-03-4

Nadere informatie

Een macro met een knop opstarten.

Een macro met een knop opstarten. Een macro met een knop opstarten. Introductie Dit document is een werkinstructie voor het maken van een knop op een Excel-werkblad om daarmee een macro of een Visual Basic for Applications (VBA) toepassing

Nadere informatie

SNEL WERKEN MET EXCEL

SNEL WERKEN MET EXCEL SNEL WERKEN MET EXCEL 2013 Computertraining voor 50-plussers PC50plus computertrainingen Eikbosserweg 52 1214AK Hilversum tel: 035 6213701 info@pc50plus.nl www.pc50plus.nl Snel werken met Excel C O M P

Nadere informatie

Handleiding voor Excel to Image

Handleiding voor Excel to Image 1 Handleiding voor Excel to Image Exporteren uw Excel rapportages naar Word of Powerpoint Auteur(s) M.S. van Dam Date of creation 16-05-11 2 Voorwoord Het Excel bestand EC_ExcelToImage.xls maakt het mogelijk

Nadere informatie

Hoofdstuk 1: Het Excel Dashboard* 2010

Hoofdstuk 1: Het Excel Dashboard* 2010 Hoofdstuk 1: Het Excel Dashboard* 2010 1.0 Introductie Excel helpt om data beter te begrijpen door het in cellen (die rijen en kolommen vormen) in te delen en formules te gebruiken om relevante berekeningen

Nadere informatie

Emotie Detective WERKBOEK - OUDERS

Emotie Detective WERKBOEK - OUDERS Emotie Detective WERKBOEK - OUDERS Groepstraining Emotie Detective 2015 - Simone van Geel & Paulien Foekens Ontwerp, omslag en binnenwerk: Simone van Geel, Paulien Foekens, Joep Deiman Opmaak: Simone van

Nadere informatie

Sneltoetsen Excel 2010

Sneltoetsen Excel 2010 1 Waarom Sneltoetsen Gebruiken? Om het werken met Excel te versnellen en gemakkelijker te maken zijn er honderden sneltoetsen die je kunt gebruiken om de meest uitlopende opdrachten uit te voeren. Je kunt

Nadere informatie

TOOL MJOB HANDLEIDING

TOOL MJOB HANDLEIDING TOOL MJOB HANDLEIDING Tool MJOB Handleiding Tool MJOB Een uitgave van Sdu Uitgevers bv Uitgever Adres Abonnement Klantenservice Algemene voorwaarden René Tijssen Postbus 20014, 2500 EA Den Haag Abonnementen

Nadere informatie

HP Prime: Spreadsheet App

HP Prime: Spreadsheet App HP Prime Graphing Calculator HP Prime: Spreadsheet App Meer over de HP Prime te weten komen: http://www.hp-prime.nl De Spreadsheet-App op de HP Prime Misschien heb je al eens gewerkt met een spreadsheet,

Nadere informatie

Aan de slag met Word 2016? Ontdek de basisfuncties. Maak een nieuw document aan, typ teksten en maak het geheel vervolgens netjes op.

Aan de slag met Word 2016? Ontdek de basisfuncties. Maak een nieuw document aan, typ teksten en maak het geheel vervolgens netjes op. Word 2016 - basis Aan de slag met Word 2016? Ontdek de basisfuncties. Maak een nieuw document aan, typ teksten en maak het geheel vervolgens netjes op. Welke Word? Word 2016 is te koop als onderdeel van

Nadere informatie

6.2 VBA Syntax. Inleiding Visual Basic

6.2 VBA Syntax. Inleiding Visual Basic 6.2 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik op Maken Macro s en Code -

Nadere informatie

Excel Controller. Jaarrekening in Excel. Handleiding Excel Controller. Jaarrekening. Auteur(s) G. Buurmans. Date of creation

Excel Controller. Jaarrekening in Excel. Handleiding Excel Controller. Jaarrekening. Auteur(s) G. Buurmans. Date of creation Handleiding in Excel Auteur(s) G. Buurmans Date of creation 13-04-2011 BTW NL 8107.42.159 B.01 1 Inhoudsopgave Inleiding Excel... 3 1 Beveiligingen afzetten in Excel... 4 2 Beveiligingen afzetten vanaf

Nadere informatie

15. Tabellen. 1. wat rijen, kolommen en cellen zijn; 2. rijen en kolommen invoegen; 3. een tabel invoegen en weer verwijderen;

15. Tabellen. 1. wat rijen, kolommen en cellen zijn; 2. rijen en kolommen invoegen; 3. een tabel invoegen en weer verwijderen; 15. Tabellen Misschien heeft u al eens geprobeerd om gegevens in een aantal kolommen te plaatsen door gebruik te maken van spaties, kolommen of tabs. Dat verloopt goed totdat u gegevens wilt wijzigen of

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden , Serasta Uitgegeven in eigen beheer Eerste druk: december 2018

Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden , Serasta Uitgegeven in eigen beheer Eerste druk: december 2018 Auteur boek: Vera Lukassen Titel boek: Excel Gevorderden 2019 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: december 2018 ISBN: 978-94-91998-45-4 Dit boek is gedrukt op een papiersoort

Nadere informatie

Basisvaardigheden Microsoft Excel

Basisvaardigheden Microsoft Excel Basisvaardigheden Microsoft Excel Met behulp van deze handleiding kun je de basisvaardigheden leren die nodig zijn om meetresultaten van een practicum te verwerken. Je kunt dan het verband tussen twee

Nadere informatie

Antwoorden op de vragen

Antwoorden op de vragen Thuis in Windows 7 Antwoorden op de vragen Hannie van Osnabrugge bussum 2010 Deze antwoorden horen bij de vragen in Thuis in Windows 7 van Hannie van Osnabrugge. 2010 Hannie van Osnabrugge Alle rechten

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies

Nadere informatie

1. Cellen en formules

1. Cellen en formules 13 1. Cellen en formules Microsoft Excel is een rekenprogramma, ook wel spreadsheetprogramma genoemd. Met het woord spread wordt in het Engels tekst over meer kolommen bedoeld en de term sheet betekent

Nadere informatie

Outlookkoppeling installeren

Outlookkoppeling installeren Outlookkoppeling installeren Voordat u de koppeling kunt installeren, moet outlook afgesloten zijn. Stappenplan Controleer of het bestand VbaProject.OTM aanwezig is. (zie 3.2) Controleer of de map X:\RADAR\PARAMETERS\

Nadere informatie

Basisvaardigheden Microsoft Excel

Basisvaardigheden Microsoft Excel Basisvaardigheden Microsoft Excel Met behulp van deze handleiding kun je de basisvaardigheden leren die nodig zijn om meetresultaten van een practicum te verwerken. Je kunt dan het verband tussen twee

Nadere informatie

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel.

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel. Excel Inleiding Het woord computer betekent zoiets als rekenmachine. Daarmee is is eigenlijk aangegeven wat een computer doet. Het is een ingewikkelde rekenmachine. Zelf voor tekstverwerken moet hij rekenen.

Nadere informatie

Extra les Werken met Windows Live Mail 2012

Extra les Werken met Windows Live Mail 2012 Wegwijs in Windows 8 Extra les Werken met Windows Live Mail 2012 Hannie van Osnabrugge u i t g e v e r ij c o u t i n h o c bussum 2013 Deze extra les over het werken met Windows Live Mail 2012 hoort bij

Nadere informatie

Via de het tabblad Bestand kun je bijvoorbeeld een nieuwe werkmap maken, werkmappen openen, opslaan en afdrukken.

Via de het tabblad Bestand kun je bijvoorbeeld een nieuwe werkmap maken, werkmappen openen, opslaan en afdrukken. SAMENVATTING HOOFDSTUK 1 Excel opstarten, verkennen en afsluiten EXCEL kan bijvoorbeeld worden opgestart via de snelkoppeling naar EXCEL op het bureaublad, als deze er is, of via of. Als EXCEL al vaker

Nadere informatie

NIEUWE SJABLONEN VOOR KLEOS GEBRUIKERSINSTRUCTIE

NIEUWE SJABLONEN VOOR KLEOS GEBRUIKERSINSTRUCTIE NIEUWE SJABLONEN VOOR KLEOS GEBRUIKERSINSTRUCTIE Kleos Postbus 23 7400 GA Deventer T: 0570 67 35 55 F: 0172 46 69 98 E: software@kluwer.nl I: kleos.kluwer.nl/ Hoewel bij deze uitgave de uiterste zorg is

Nadere informatie

Belastingwetgeving 2015

Belastingwetgeving 2015 Belastingwetgeving 2015 Opgaven Niveau 5 MBA Peter Dekker RA Ludie van Slobbe RA Uitgeverij Educatief Ontwerp omslag: www.gerhardvisker.nl Ontwerp binnenwerk: Ebel Kuipers, Sappemeer Omslagillustratie:

Nadere informatie

Excel Controller. Jaarrekening

Excel Controller. Jaarrekening Handleiding in Excel Auteur(s) G. Buurmans Date of creation 13-04-2011 F. van Eedenstraat 2 I. www.excelcontroller.nl KVK Rotterdam 24.31.44.22 T. 087 8758788 3351 SM Papendrecht E. info@excelcontroller.nl

Nadere informatie

Excel Controller. Jaarrekening

Excel Controller. Jaarrekening Handleiding in Excel Auteur(s) G. Buurmans Date of creation 13-04-2011 F. van Eedenstraat 2 I. www.excelcontroller.nl KVK Rotterdam 24.31.44.22 T. 087 8758788 3351 SM Papendrecht E. info@excelcontroller.nl

Nadere informatie

Microsoft Security Essentials downloaden

Microsoft Security Essentials downloaden Wegwijs in internet Thuis in Windows Vista Thuis in Windows 7 Microsoft Security Essentials downloaden Hannie van Osnabrugge u i t g e v e r ij coutinho c bussum 2011 Deze handleiding Microsoft Security

Nadere informatie

25 Excel tips. 25 Handige Excel tips die tijd besparen en fouten voorkomen. Ir. Fred Hirdes. Excel-leren.nl.

25 Excel tips. 25 Handige Excel tips die tijd besparen en fouten voorkomen. Ir. Fred Hirdes. Excel-leren.nl. [Geef tekst op] 25 Excel tips 25 Handige Excel tips die tijd besparen en fouten voorkomen Ir. Fred Hirdes Excel-leren.nl info@excel-helpdesk.nl Inhoudsopgave Inhoudsopgave... 1 Inleiding... 2 Tip 1 tm

Nadere informatie

Auteur boek: Vera Lukassen Titel boek: Excel 365 Basis. 2011, Serasta Uitgegeven in eigen beheer Eerste druk: November 2017

Auteur boek: Vera Lukassen Titel boek: Excel 365 Basis. 2011, Serasta Uitgegeven in eigen beheer Eerste druk: November 2017 Auteur boek: Vera Lukassen Titel boek: Excel 365 Basis 2011, Serasta Uitgegeven in eigen beheer info@serasta.nl Eerste druk: November 2017 ISBN: 978-94-91998-41-6 Dit boek is gedrukt op een papiersoort

Nadere informatie

Trainingsomschrijving Excel 97 / 2000 / 2003 NL

Trainingsomschrijving Excel 97 / 2000 / 2003 NL Module 1 Basisvaardigheden Module 2 Spreadsheets opzetten Module 3 Layout en afdrukken Module 4 Grafieken Module 5 Functies Module 6 Geautomatiseerde oplossingsmethoden Module 7 Werken met databases Module

Nadere informatie