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 het programma RekenOmNaarEuro. Open werkmap NN-VBAOEF. Typ de programmacode in module 1 onder de broncode van RekenOmNaarBef. Maak in werkblad Valuta een knop met het opschrift: “REKEN OM VAN BEF NAAR EURO”. Koppel deze knop aan het programma RekenOmNaarEuro! $OJRULWPH 5HNHQ2P1DDU(XUR
Vraag het bedrag in BEF Reken om naar EURO Toon het bedrag in EURO --- Vraag het bedrag in BEF--'UXN
“Typ het bedrag in BEF: “
/HHV
Bef --- Reken om naar EURO---
Euro
Bef x 40,3399
--- Toon het bedrag in BEF--'UXN
“Het bedrag in EURO is “ + Euro
*HHIHHQSDVVHQGHQDDPDDQGHYDULDEHOHQ
De variabele waarin het bedrag in BEF zal opgeslagen worden, is van het type string. Welke naam geef je aan deze variabele in het programma?
………………………………………….
De variabele waarin het bedrag in EURO zal opgeslagen worden, is van het type double. Welke naam geef je aan deze variabele in het programma? 9HUWDDOKHWDOJRULWPHLQ9%$
1
………………………………………….
23*$9(
Schrijf een programma dat je voornaam en naam vraagt in 2 aparte invoervensters en dat daarna de volgende mededeling toont: “+DOORYRRUQDDPQDDPYHHOVXFFHVPHW9%$” Voorbeeld:
Noem het programma: “HeetWelkom”. Voeg in NN-VBAOEF een nieuw moduleblad in en typ hierin de code van het programma. Geef in werkmap NN-VBAOEF aan één werkblad de naam: “BeginHier”. Teken in dit werkblad een knop met het opschrift: “WELKOM”. Koppel deze knop aan het programma. 3UREOHHPDQDO\VH
Gegevens: Gevraagd:
voornaam > moet ingevoerd worden door de gebruiker naam > moet ingevoerd worden door de gebruiker mededeling op het scherm met de voornaam en de naam van de gebruiker
2QWZHUSGHRSORVVLQJ
Uit de gegevens kan je afleiden dat je twee variabelen nodig hebt van het type string: één voor de voornaam (strVoornaam) en één voor de familienaam (strFamilienaam). 9HUILMQRQGHUVWDDQGHJURIVWUXFWXXURPKHWSUREOHHPRSWHORVVHQ
+HHW:HONRP
Vraag de voornaam Vraag de familienaam Toon de mededeling
--- Vraag de voornaam ---
--- Vraag de familienaam ---
--- Toon de mededeling ---
9HUWDDOKHWDOJRULWPHLQ9%$
2
23*$9(
Schrijf een programma dat aan de gebruiker vraagt om een willekeurige tekenreeks in te voeren.
Het programma berekent vervolgens hoeveel tekens de gebruiker invoerde en toont het resultaat in een uitvoervenster.
Noem het programma TelTekens. Voeg in werkmap NN-VBAOEF een nieuw moduleblad toe en typ hierin de programmacode. Geef in werkmap NN-VBAOEF aan één werkblad de naam: “Allerlei”. Teken in dit werkblad een knop met het opschrift: “TEL DE INGEVOERDE TEKENS”. Koppel deze knop aan het programma. $QDO\VHHUKHWSUREOHHP
Gegeven:
……………………………………………………………………………………………………
Gevraagd:
……………………………………………………………………………………………………
2QWZHUSGHRSORVVLQJ
Schrijf een VWDSVJHZLMVYHUILMQGDOJRULWPH om dit probleem op te lossen. Tip! De VBA-opdracht om te berekenen uit hoeveel tekens een tekenreeks bestaat is: /HQVWULQJ Voorbeeld: als variabele strVoorbeeld = “abc”, dan is het resultaat van Len(strVoorbeeld) het getal 3 Het resultaat van Len(VWULQJ) is altijd een getal van het type Long. Gegevenstype Long is een geheel getal dat maximaal 4 bytes in beslag neemt. 7HO7HNHQV
(Noteer de verfijning van de grofstructuur op de keerzijde)
3
9HUWDDOKHWDOJRULWPHLQ9%$
23*$9(
Schrijf een programma dat aan de gebruiker de lengte (in cm) en de breedte (in cm) vraagt van een rechthoek. Het programma berekent vervolgens de omtrek en de oppervlakte van de rechthoek en toont het resultaat in een uitvoervenster. Voorbeeld:
Noem het programma MeetRechthoek. Voeg in werkmap NN-VBAOEF een nieuw moduleblad toe en typ hierin de programmacode. Teken in werkblad Allerlei een knop met het opschrift: “RECHTHOEK”. Koppel deze knop aan het programma. $QDO\VHHUKHWSUREOHHP
2QWZHUSGHRSORVVLQJ 6FKULMIHHQVWDSVJHZLMVYHUILMQGDOJRULWPH
.
Noteer de oplossing op de keerzijde. 9HUWDDOKHWDOJRULWPHLQ9%$
Voer de programmacode in. &RQWUROHHUGHRSORVVLQJ
Test het programma! Beschrijf minstens één fout van het programma:
4
3UREOHPHQRSORVVHQPHW9%$WRHSDVVLQJHQELMGHHO
Naam
…………………………………………….
NR : ……
Klas
…………………………………………….
PC : ……
Datum
…………………………………………….
23*$9(
Voeg in werkmap NN-VBAOEF.xls een nieuw werkblad in met de naam: “Prijsberekening”.
Schrijf een procedure om de gegevens te laten invoeren in de cellen A4 en B4. De gegevens zijn van het type Double. Noem de procedure VraagBedragen. Maak een functie om de prijs inclusief BTW te berekenen in cel C4. Noem deze functie fInclusiefBtw. Maak een knop waarmee de gebruiker de procedure kan opstarten:
3UREOHHPDQDO\VH
Gegevens:
Gevraagd:
werkblad > moet ingevoerd worden door de ontwerper bedrag exclusief > moet ingevoerd worden door de gebruiker BTW-tarief > moet ingevoerd worden door de gebruiker gegevens in het werkblad zetten bedrag inclusief BTW berekenen en tonen in cel C4
2QWZHUSGHRSORVVLQJ
Voer werkblad prijsberekening in Voer de procedure VraagBedragen in Voer de functie fInclusiefBtw in 9RHUZHUNEODGSULMVEHUHNHQLQJLQ
Open NN-VBAOEF.xls Voeg een nieuw werkblad in Noem het werkblad Prijsberekening Typ de titels en subtitels in Maak het werkblad op 9RHUGHSURFHGXUH9UDDJ%HGUDJHQLQ
9RHUGHIXQFWLHI,QFOXVLHI%WZLQ
Schrijf het algoritme (p.6)
Maak de functie (p.6)
Vertaal het algoritme in VBA (p.6)
Typ de functie in het moduleblad
Typ de code in een nieuw moduleblad
Typ de functie in cel C4 van Prijsberekening
Maak een knop in werkblad Prijsberekening 5
Schrijf het algoritme om de bedragen in te voeren 9HUILMQKHWDOJRULWPH9UDDJ%HGUDJHQ
9UDDJ%HGUDJHQ
Vraag bedrag exclusief Vraag BTW-tarief Zet gegevens in het werkblad
--- Vraag bedrag exclusief ---
--- Vraag BTW-tarief ---
--- Zet gegevens in het werkblad ---
9HUWDDOKHWDOJRULWPHLQ9%$
Maak de functie om het bedrag inclusief BTW te berekenen Bedrag inclusief BTW = Bedrag exclusief BTW + Bedrag exclusief BTW * BTWprocent / 100 De functie vraagt 2 argumenten van het type double. Bedenk passende namen voor de variabelen: Bedrag exlusief BTW
>
………………………………………………………………….
BTWprocent
>
………………………………………………………………….
1RWHHUGHIXQFWLHLQ9%$FRGH )XQFWLRQ
fInclusiefBtw( ………………………………………………, ………………….…….…………….. )
(QGIXQFWLRQ
6
7HVWGHRSORVVLQJ
Bereken het bedrag inclusief BTW:
23*$9(
7
3UREOHPHQRSORVVHQPHW9%$WRHSDVVLQJHQELMGHHO
Naam
…………………………………………….
NR : ……
Klas
…………………………………………….
PC : ……
Datum
…………………………………………….
23*$9(
Wijzig de broncode van het programma HeetWelkom: > laat de naam van je klas uitvoeren in cel A1 > laat je voornaam en familienaam uitvoeren in cel A2 > gebruik de macro MaakWaardenOp om de cellen met gegevens te verfraaien Test het programma in werkblad BeginHier: gebruik de knop Welkom om het programma uit te voeren.
9HUYROOHGLJGHEURQFRGH
6XE
HeetWelkom() strVoornaam = InputBox("Voer je voornaam in: ") strFamilienaam = InputBox("Voer je familienaam in: ")
(QG6XE
1
23*$9(
Neem een macro op om een volledig werkblad leeg te maken. Van alle cellen moet de inhoud en de opmaak gewist worden! De celwijzer moet daarna in A1 staan. Noem de macro WisBlad. Vraag de broncode van de macro op. Noteer in een commentaarregel waarvoor de macro dient. Het is de bedoeling dat we alle macro’s bij mekaar zetten in moduleblad Macros: knip de broncode uit het nieuwe moduleblad en plak ze in moduleblad Macros. Verwijder vervolgens het originele moduleblad. Teken in werkblad BeginHier een knop en koppel deze aan macro WisBlad.
Kopieer de knop naar werkblad SchrijvenEnLezen zodat je ook daar alle gegevens kan wissen! Test de macro in de twee werkbladen: voer in werkblad BeginHier het programma HeetWelkom uit en wis daarna alle gegevens met de knop “Maak blad leeg” voer in werkblad SchrijvenEnLezen het programma ToonWaarden uit en wis daarna alle gegevens met de knop “Maak blad leeg”
Leid af uit de broncode van de macro wat onderstaande VBA-opdrachten betekenen:
Cells.Select Selection.Clear Range (“A1”).Select
23*$9(
Voeg in werkmap NN-VBAOEF een nieuw werkblad in met de naam “Prijsberekening”. Voer in dit werkblad de onderstaande tabel in.
Maak een functie om het bedrag inclusief BTW te berekenen op basis van het bedrag exclusief BTW en de BTW in %. Noem de functie fInclusiefBtw(dblBedrag, dblBtwtarief) Typ de functie in een nieuw moduleblad dat je FunctieBtw noemt. Test de functie: voer in werkblad Prijsberekening in cel C4 de formule met de functie in, typ in cel A4 het getal 100, typ in B4 het getal 21. Als het resultaat in C4 121 is, dan is de functie juist ingevoerd. Maak een procedure om het bedrag exclusief BTW en de BTW in % te laten invoeren in de cellen A4 en B4 door de gebruiker. Noem de procedure VraagBedragen. Typ de procedure in moduleblad FunctieBtw. Koppel de procedure aan een knop met het opschrift: “Bereken bedrag inclusief BTW”. Test het programma met andere cijfers!
2
3UREOHPHQRSORVVHQPHW9%$WRHSDVVLQJHQELMGHHO
Naam
…………………………………………….
NR : ……
Klas
…………………………………………….
PC : ……
Datum
…………………………………………….
23*$9(
Open NN-VBAOEF. Klik in werkblad Valuta op de knop: “Reken om van Euro naar Bef”. Een invoervenster verschijnt op het scherm. Druk onmiddellijk op de entertoets, zonder een waarde in te vullen. Het programma wordt onderbroken en er wordt een fout gemeld:
Klik op “Foutopsporing”. In de broncode wordt de programmaregel gemarkeerd waar het fout loopt:
strEuro is een lege tekenreeks of string (“”), deze kan niet omgezet worden in een getalwaarde! 3DVKHWSURJUDPPD]RGDQLJDDQGDWGHEHUHNHQLQJDOOHHQXLWJHYRHUGZRUGWDOVGHLQJHYRHUGH WHNHQUHHNVQLHWOHHJLV
:HONHFRQWUROHVWUXFWXXUJHEUXLNMHRPKHWSUREOHHPRSWHORVVHQ"
1RWHHUKHWDOJRULWPHLQHHQMXLVWVWUXFWRJUDPRSGHNHHU]LMGHYDQGH]HSDJLQD
9HUWDDOKHWDOJRULWPHLQ9%$
Sub RekenOmNaarbef()
End Sub 9HUEHWHUKHWSURJUDPPDLQ119%$2()LQPRGXOHEODG9DOXWD7HVWKHWSURJUDPPDLQ ZHUNEODG9DOXWDPHWGHNQRS³5HNHQRPYDQ(XURQDDU%HI´
1
23*$9(
In moduleblad Tellen staat de broncode van het programma TelTekens. Zorg ervoor dat dit programma minstens 1 keer wordt uitgevoerd. Daarna moet de vraag gesteld worden of de gebruiker het programma wil herhalen. Het programma moet herhaald worden tot de gebruiker met N of n antwoordt op deze vraag. :HONHFRQWUROHVWUXFWXXUJHEUXLNMHRPKHWSUREOHHPRSWHORVVHQ"
1RWHHUKHWDOJRULWPHLQHHQMXLVWVWUXFWRJUDPRSGHNHHU]LMGHYDQGH]HSDJLQD
9HUWDDOKHWDOJRULWPHLQ9%$
Sub TelTekens ()
End Sub
9HUEHWHUKHWSURJUDPPDLQ119%$2()LQPRGXOHEODG7HOOHQ7HVWKHWSURJUDPPDLQ ZHUNEODG$OOHUOHLPHWGHNQRS³7HOGHLQJHYRHUGHWHNHQV´
2
23*$9(
Open NN-Controle.xls Schrijf een programma dat een zebrapad tekent in een zwart veld. Beginsituatie: een leeg werkblad, A1 is de actieve cel. Het zwarte veld omvat de rijen 5:21. Eén witte streep is een wit gekleurde cel. Om de celwijzer te verplaatsen kan je gebruik maken van de procedures in moduleblad “Basisopdrachten”. Zorg ervoor dat de gebruiker het programma kan starten met een knop. De knop “Maak het werkblad leeg!” bestaat al. Noem het werkblad: “Zebrapaden”.
$OJRULWPH
7HNHQ=HEUDSDG
Maak achtergrond zwart Zet celwijzer op beginpositie Teken één zebrapad YHUILMQKHWGHHODOJRULWPH³7HNHQppQ]HEUDSDG´
7HNHQppQ]HEUDSDG
Markeer de deelalgoritmen die je kan uitwerken met behulp van een PDFUR! 6FKULMIKHWSURJUDPPDLQ9%$
Noteer de juiste code op de keerzijde van dit blad. 3
23*$9(
Schrijf een programma dat binnen een vooraf bepaald veld alle cellen waarin geen kruisje staat rood kleurt. De kruisjes worden op voorhand geplaatst door de gebruiker. Daarna moet hij het programma starten met een knop. Er moet ook een knop voorzien zijn om de cellen weer leeg te maken. Dit laatste probleem kan je gemakkelijk oplossen met een macro.
Begin in Controle.xls met een nieuw werkblad. Noem dit blad: “Kleuren”. Typ de tekst in A1 en A2. Maak de cellen C5:E8 op zoals in onderstaand voorbeeld (rijhoogte is 20, kolombreedte is 5).
1RWHHUKHWDOJRULWPHLQHHQMXLVWVWUXFWRJUDPRSGHNHHU]LMGHYDQGH]HSDJLQD
9HUWDDOKHWDOJRULWPHLQ9%$
4
Extra opgaven 1. Ontwerp een programma dat de woorden van een zin opvraagt. Elk woord wordt apart opgevraagd en ingelezen. Het programma houdt ook bij hoeveel woorden worden ingevoerd door de gebruiker. De zin eindigt met een punt “.” Als eindresultaat moet je op het scherm de zin zien en het aantal woorden waaruit de zin bestaat. 2. Bereken het gemiddelde van 5 getallen die ingevoerd worden door de gebruiker. 3. Bereken het gemiddelde van een aantal getallen dat je vooraf niet kent. De invoer van de reeks getallen wordt afgesloten met een lege string. 4. Ergens in kolom A staat een teken. Laat de cursor op zoek gaan naar dit teken en daar blijven staan. Vooraleer je dit programma test, typ je ergens in kolom A een teken! Test het programma ook eens terwijl het teken in A1 staat!
Extra opgaven 1. Ontwerp een programma dat de woorden van een zin opvraagt. Elk woord wordt apart opgevraagd en ingelezen. Het programma houdt ook bij hoeveel woorden worden ingevoerd door de gebruiker. De zin eindigt met een punt “.” Als eindresultaat moet je op het scherm de zin zien en het aantal woorden waaruit de zin bestaat. 2. Bereken het gemiddelde van 5 getallen die ingevoerd worden door de gebruiker. 3. Bereken het gemiddelde van een aantal getallen dat je vooraf niet kent. De invoer van de reeks getallen wordt afgesloten met een lege string. 4. Ergens in kolom A staat een teken. Laat de cursor op zoek gaan naar dit teken en daar blijven staan. Vooraleer je dit programma test, typ je ergens in kolom A een teken! Test het programma ook eens terwijl het teken in A1 staat!
Extra opgaven 1. Ontwerp een programma dat de woorden van een zin opvraagt. Elk woord wordt apart opgevraagd en ingelezen. Het programma houdt ook bij hoeveel woorden worden ingevoerd door de gebruiker. De zin eindigt met een punt “.” Als eindresultaat moet je op het scherm de zin zien en het aantal woorden waaruit de zin bestaat. 2. Bereken het gemiddelde van 5 getallen die ingevoerd worden door de gebruiker. 3. Bereken het gemiddelde van een aantal getallen dat je vooraf niet kent. De invoer van de reeks getallen wordt afgesloten met een lege string. 4. Ergens in kolom A staat een teken. Laat de cursor op zoek gaan naar dit teken en daar blijven staan. Vooraleer je dit programma test, typ je ergens in kolom A een teken! Test het programma ook eens terwijl het teken in A1 staat!
Extra opgaven 1. Ontwerp een programma dat de woorden van een zin opvraagt. Elk woord wordt apart opgevraagd en ingelezen. Het programma houdt ook bij hoeveel woorden worden ingevoerd door de gebruiker. De zin eindigt met een punt “.” Als eindresultaat moet je op het scherm de zin zien en het aantal woorden waaruit de zin bestaat. 2. Bereken het gemiddelde van 5 getallen die ingevoerd worden door de gebruiker. 3. Bereken het gemiddelde van een aantal getallen dat je vooraf niet kent. De invoer van de reeks getallen wordt afgesloten met een lege string. 4. Ergens in kolom A staat een teken. Laat de cursor op zoek gaan naar dit teken en daar blijven staan. Vooraleer je dit programma test, typ je ergens in kolom A een teken! Test het programma ook eens terwijl het teken in A1 staat!
5