Die ANDERS wordt in Visual Basic ELSE, en daarachter volgt dan de "tak indien niet waar".
Op het einde van de IF instructie staat dan nog een END IF.
De volledige IF-instructie ziet er nu als volgt uit:
IF
END IF
Ofwel:
IF
ELSE
END IF
Enkele voorbeelden
Hier dan de code van een volledig uitgewerkt voorbeeld:
Een eerste uitgewerkt voorbeeld
Eerst vraag je de leeftijd van betrokkene, en afhankelijk van het antwoord wordt het zinnetje afgedrukt dat hier van toepassing is.
Merk op dat Visual Basic zelf zijn "eigen" woordjes in het blauw zet, dat hoef je uiteraard niet zelf te doen! Wat je wel zelf mag doen, is de regels van de "tak indien waar" en de "tak indien niet waar" wat te laten inspringen. Dat doe je door voor die regels op de tabulatortoets te drukken. Dat hoeft niet, maar achteraf is het dan gemakkelijker om de code te lezen.
Een tweede, wat langer voorbeeld:
Een tweede uitgewerkt voorbeeld
Je ziet dat hier op voorhand verondersteld wordt dat het geslacht vrouwelijk is, en bij de instructie IF wordt alleen maar de "tak indien waar" gebruikt. Natuurlijk kan je ook een IF met twee takken maken.
UCase-functie
Hier wordt bovendien gebruik gemaakt werd van een nieuwe functie: UCase().
Visual Basic is namelijk hoofdlettergevoelig, wat wil zeggen dat als geslacht, "M" en "m" niet hetzelfde zijn. Als de voorwaarde dan is: geslacht = "M" dan zou dat niet waar zijn wanneer je "m" intypte!
De functie UCase() – dit is de afkorting van Uppercase, in het Nederlands hoofdletter – zet je antwoord altijd om in een hoofdletter, ongeacht wat je intypt.
Om op papier het regeltje "Aan de heer Jan Janssens" te schrijven, heb je in het voorbeeld maar liefst zes lijnen code nodig:
Selection.TypeText Text:="Aan "
Selection.TypeText Text:=titel
Selection.TypeText Text:=" "
Selection.TypeText Text:=voornaam
Selection.TypeText Text:=" "
Selection.TypeText Text:=naam
Dat kan korter, door gebruikte maken van het concatenatieteken, waarmee simpelweg de ampersand of & bedoeld wordt. Zo kan je die zes lijnen vervangen door een enkele lijn:
Selection.TypeText Text:="Aan " & titel & " " & voornaam & " " & naam
Vergeet nooit de spaties tussen de verschillende delen ( dat is dus telkens die " " ), anders plakt alles aan elkaar!
Opdracht
Probeer dit laatste voorbeeld ook eens met een IF-instructie met twee takken?
Gebruik in de plaats van de functie UCase() eens de verwante functie LCase().
Met de instructie IF kan je voortaan een keuze maken. De schrijfwijze is:
IF
ELSE
END IF
Beste Shahab,
misschien komt dat wel, maar met de nieuwe Office wil ik eerst checken of alles wat ik schreef nog wel klopt. Makro\’s zijn namelijk ideale vervoermiddelen voor virussen, en omdat ze daar nogal wat beschermingen tegen inbouwen zou het kunnen dat sommige delen niet meer werken. Nog wat geduld dus.
Beste macro expert, mocht je het bovenstaande commentaar niet begrijpen, heb ik hier een gecorrigieerde versie .
Alvast bedankt voor het uitleg van macro in word. Ik heb wel wat geleerd. Ik vroeg me af of je ook een uitleg hebt over de macro in Excel met uiteraad verschillende sheets met grafieken en tabbelen en dit te koppelen naar een word document…ik hoor het graag van je. Nogmaals bedankt
Beste macro expert,
Alvast bedankt voor de uitleg van macro in word. Ik heb wel wat geleerd. Ik vroeg me af of je ook een uitleg heb over de macro in Excel met uiteraad spreatsheets en het koppelen van een paar sheets naar een word document, bijvoorbeeld frafieken en zo…ik hoor het graag van je. Nogmaals bedankt
Reacties zijn gesloten.