oef 8 opl

60 %
40 %
Information about oef 8 opl
Product-Training-Manuals

Published on June 17, 2007

Author: Moorehead

Source: authorstream.com

Voorbeeldoplossingen:  Voorbeeldoplossingen VBA 1:  VBA 1 Start Word; zorg ervoor dat onderaan de 'Drawing'-werkbalk zichtbaar is Voeg aan de 'Drawing'-werkbalk een knopje toe waarmee je een tekstballon kan invoegen in een Word-document; verwijder vervolgens het knopje weer Ga naar 'Tools', 'Customize…'. Daar kies je 'AutoShapes' onder het 'Commands'-tabblad, waar je dan in het rechtervenster ergens een tekstballon ziet staan. Sleep die met de muis naar de tekenbalk (die zichtbaar gemaakt moet zijn). Dan komt er een knopje op de tekenbalk bij. Sleep dit knopje van de tekenbalk weer naar het 'Customize'-venster, en het is weg. VBA 1 (vervolg):  VBA 1 (vervolg) Maak een nieuwe werkbalk 'Zorro' aan; voeg er knopjes aan toe om de font in te stellen op Arial, Garamond en Comic Sans MS; plaats (sleep) de werkbalk bovenaan het scherm; test de werking. Weer in het venster 'Customize' (zie vorige slide) kun je in het tabblad 'Toolbars' kiezen voor 'New…'. Je geeft de werkbalk een naam naar keuze (hier bijv. Zorro). Dan klik je bij 'Commands' in het linkervenster 'Fonts' aan. Let op dat je in Word werkt, want in PowerPoint is deze optie niet beschikbaar. Je sleept vervolgens de gevraagde lettertypes naar de werkbalk. VBA 2:  VBA 2 1. Creëer een lege PowerPoint-presentatie; maak een macro op die 'geselecteerde' tekst in een blauwe kleur zet; gebruik hiervoor de macrorecorder Kies 'Tools', 'Macro', 'Record New Macro…'. Je selecteert dan tekst, die je met 'Format', 'Font…' blauw maakt. Daarna stop je de macro recorder. Bij 'Tools', 'Macro', 'Macros…' kun je de macro bewerken. De code ziet eruit als de tekst in het kader hier rechts. De meeste zaken gaan over de eigenschappen van de geselecteerde tekst (grootte, font, ...) en doen niet terzake. Na schrappen van de overbodige lijnen code hou je iets over zoals in de rechthoek eronder. 2. Creëer nu een werkbalk 'Zorro' en voeg de zojuist gecreëerde macro blauw er aan toe Weer met 'Tools', 'Customize…'. Links kies je 'Macros' bij het 'Commands'-tabblad, rechts verschijnt dan jouw macro, die je kunt meeslepen naar een menubalk 3. Test de macro door allerlei tekst (en tekstvakken) te selecteren en hem erop toe te passen; test de macro ook op b.v. een pijl en experimenteer met de debugger Tekst is iets anders dan een vorm. Dat zal dus niet werken, en je zal er daarom een aparte macro voor moeten schrijven... 4. Schrijf het gecreëerde bestand weg, sluit alle PowerPoint-vensters en herstart PowerPoint met een nieuwe presentatie; werkt de macro nog? Ja. Tips De macrorecorder neemt teveel operaties op; editeer dus de macro in de VBA-editor en verwijder de overbodige lijnen Als je de werkbalk aanmaakt, dan vind je de gecreëerde macro terug onder 'Commands', 'Macros' Sub blauw() ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=5, Length:=8).Select With ActiveWindow.Selection.TextRange.Font .Name = 'Times New Roman' .Size = 32 .Bold = msoFalse .Italic = msoFalse .Underline = msoFalse .Shadow = msoFalse .Emboss = msoFalse .BaselineOffset = 0 .AutoRotateNumbers = msoFalse .Color.SchemeColor = ppAccent1 End With End Sub Sub blauw() With ActiveWindow.Selection.TextRange.Font .Color.SchemeColor = ppAccent1 End With End Sub VBA 3:  VBA 3 Voeg een nieuwe functie zorro toe aan Excel, die bij een gegeven getal 12 optelt; doe dit als volgt: Creëer een nieuw werkblad en open de visual basic editor Zoek in het project-venster de naam van het bestand waarmee je aan het werken bent en voeg een module toe (tip: gebruik contextmenu (via rechtermuistoets)) Lees eventueel de on-line help over 'function' en bestudeer in het bijzonder het voorbeeld dat daar wordt gegeven De on-line help van de Visual Basic Editor welteverstaan. Zoek naar 'Function', 'Function Statement' en klik dan op 'Example'. Het gaat om het volgende voorbeeld: Open de eerder gecreëerde module door er twee keer op te klikken en creëer hierin de gevraagde functie Let op: de naam van de output is dezelfde als de naam van de functie. Ga terug naar het Excel werkblad (P.S.: je hoeft de VBA-editor niet te sluiten); test de functie zorro door ze te gebruiken in een formule Via 'Insert', 'Function…' Resultaat: zie functie.xls Function CalculateSquareRoot(NumberArg As Double) As Double If NumberArg andlt; 0 Then ' Evaluate argument. Exit Function ' Exit to calling procedure. Else CalculateSquareRoot = Sqr(NumberArg) ' Return square root. End If End Function Function zorro(NumberArg As Double) As Double zorro = NumberArg + 12 End Function VBA 4:  VBA 4 Voeg een tweede functie toe, n.l. Celsius die een temperatuur in Fahrenheit omzet naar Celsius Je kan deze toevoegen onder de functie zorro Tip: celsius=(fahrenheit-32)*5/9 Creëer in je werkblad twee kolommen waarvan de eerste de fahrenheittemperaturen van 25, 30, 35, … 85 bevat en de tweede de corresponderende celsiuswaarden Creëer nu een functie CelsiusNoFreeze die de Celsiuswaarde teruggeeft voor temperaturen boven het vriespunt en 0 voor temperaturen eronder Kopieer hiervoor de functie Celsius en pas ze aan Gebruik een If-blok of de Iif-functie (zie on-line help) Resultaat: zie functie1.xls Alternatief: Function CelsiusNoFreeze(fDegrees As Double) As Double CelsiusNoFreeze = (fDegrees - 32) * 5 / 9 If CelsiusNoFreeze andlt;= 0 Then CelsiusNoFreeze = 0 End If End Function Function Celsiusnofreeze(x As Double) As Double Celsius = (x - 32) * 5 / 9 Celsiusnofreeze = IIf(Celsius andlt; 0, 0, Celsius) End Function VBA 5:  VBA 5 Open dagen.xls; dit werkblad bevat een aantal datums in kolom A, en een formule in kolom B die het aantal dagen berekent in de betreffende maand Creëer een VBA-functie dagen die het zelfde resultaat berekent als de formule Bereken in kolom C het aantal dagen in de maand door gebruik van de gecreëerde functie dagen Opmerking: De meeste functies in VBA hebben de zelfde naam als in Excel, behalve Date die in VBA DateSerial heet Weetje: voor Excel is de 0de dag van de volgende maand gelijk aan de laatste dag van de huidige maand! Merk ook hier op dat het niet nodig is om speciaal rekening te houden met de overgang van maand 12 naar maand 1 (december naar januari): Excel vangt dit speciaal geval zelf op… Oplossing: dagen1.xls Function dagen(datum As Date) As Integer y = Year(datum) m = Month(datum) d = DateSerial(y, m+1, 0) dagen = Day(d) End Function VBA 5 (vervolg):  VBA 5 (vervolg) Kopieer nu dagen.xls naar b.v. test.xls; en gebruik hier de dagen functie uit dagen1.xls; tip: noteer ze als dagen1.xls!dagen Hiermee kun je de zelf aangemaakte functie 'dagen' uit het vorige werkblad ook in dit document gebruiken... Hiervoor moet dagen1.xls wel geopend zijn in Excel. Werkt de oplossing als je dagen1.xls sluit? Neen. Oplossing: dagen2.xls VBA 6:  Open animatie.ppt en maak een werkbalk met daarop drie knopjes die gekoppeld zijn met de macro’s no, gekoppeld met dontanimate: schakel de animatie van het momenteel geselecteerd object uit d1, gekoppeld met dissolve1: animeer het momenteel geselecteerde tekstvak, gegroepeerd volgens niveau 1 alinea’s d2, gekoppeld met dissolve2: animeer het momenteel geselecteerde tekstvak, gegroepeerd volgens niveau 2 alinea’s animatie.ppt bevat reeds de macro dontanimate; de andere macro’s lijken er redelijk sterk op; het is de bedoeling dat je de on-line help en de object browser gebruikt om de gepaste commando’s terug te vinden Methode: de regel shp In ActiveWindow.Selection.ShapeRange in het voorbeeldje duidt aan dat shp een object is van de klasse ShapeRange. Met de objectbrowser kun je nagaan welke attributen de klasse ShapeRange kan meekrijgen. Zo vind je TextFrame terug, en met de rechtermuisknop kan je in de objectbrowser kiezen voor 'Help', waardoor je de on-line help over de betreffende functie opvraagt Test de goede werking (opmerking: het is niet de bedoeling dat de macro’s in alle omstandigheden foutloos werken) De macro werkt alleen op tekstvakken, niet op grafische objecten!! Resultaat: animatie1.ppt (zonder de werkbalk, vermits die niet kan worden opgeslagen in een ppt-bestand) Je kunt de broncode van de modeloplossing hierin terugvinden... Opgelet: om macro’s te kunnen uitvoeren, moet je wel zorgen dat het beveiligingsniveau ('Tools', 'Macro', 'Security…') niet op 'High' staat. Deze optie zorgt ervoor dat alle macro’s genegeerd worden… VBA 6 VBA 6 (vervolg):  VBA 6 (vervolg) Sub dontanimate() For Each shp In ActiveWindow.Selection.ShapeRange With shp.AnimationSettings .Animate = msoFalse End With Next End Sub Sub dissolve1() For Each shp In ActiveWindow.Selection.ShapeRange With shp.AnimationSettings .Animate = msoTrue .EntryEffect = ppEffectDissolve If shp.TextFrame.HasText Then .TextLevelEffect = ppAnimateByFirstLevel End If End With Next End Sub Sub dissolve() For Each shp In ActiveWindow.Selection.ShapeRange With shp.AnimationSettings .Animate = msoTrue .EntryEffect = ppEffectDissolve If shp.TextFrame.HasText Then .TextLevelEffect = ppAnimateByAllLevels End If End With Next End Sub Sub dissolve2() For Each shp In ActiveWindow.Selection.ShapeRange With shp.AnimationSettings .Animate = msoTrue .EntryEffect = ppEffectDissolve If shp.TextFrame.HasText Then .TextLevelEffect = ppAnimateBySecondLevel End If End With Next End Sub VBA 7:  VBA 7 Voeg in Word een sub-menu zorro toe boven-aan het Format menu; zorro laat toe het font in te stellen op Courier New of op Arial Test het menu en verwijder het weer Door bij 'Tools', 'Customize…', 'Commands', 'New menu' (volledig onderaan de lijst) te selecteren, kun je dit meeslepen naar de bovenste menubalk. Deze zal automatisch uitklappen als je erover beweegt met het meegesleepte icoon, en zo kun je een submenu toevoegen op een plaats naar keuze. Kies dan in het dialoogvenster voor 'Fonts', en sleep de gewenste lettertypes compleet analoog met voorgaande naar het betreffende submenu. Tip: in het 'Commands'-tabblad van 'Customize…' vind je 'New Menu'; sleep dit naar de gepaste plaats; klik met de rechtermuistoets op het nieuwe menu om de naam te veranderen VBA 8:  VBA 8 Voeg een functie MFunc(x) toe in Excel die berekent: Tip: in VBA kan je alle bestaande werkbladfuncties oproepen maar om een of andere reden heeft Sqrt een andere naam gekregen in VBA dan in Excel Om de correcte naam te zoeken, open je de Object Browser (tip: 'View'-menu); ga naar worksheet functions en zoek (b.v. met de verrekijker of door te bladeren) naar iets dat gelijkt op sqrt Onder 'View', 'Object Browser'. Je krijgt dan een scherm als volgt: VBA 8 (vervolg):  VBA 8 (vervolg) Eens de correcte naam gevonden, keer je terug naar 'Code View' en gebruik je de gevonden functie in jouw functie Pas het resultaat toe op de getallen 1 … 12 en vergelijk met de waarde die je met een formule in Excel berekent Resultaat: functie2.xls Function MFunc(x) MFunc = Sqr(1 + Sqr(x)) End Function VBA 9.1:  VBA 9.1 Op http://j-walk.com/ss/excel/tips/tip30.htm vind je VBA-functies waarmee je de laatste niet-lege cel in een bepaalde rij of kolom kan opsporen Open last.xls en voeg de functies lastinrow en lastincolumn toe Bereken in 50 opeenvolgende cellen in de eerste kolom (startend met A2) de laatste waarde in de corresponderende rijen Bereken in 50 opeenvolgende cellen in de eerste rij (startend met B1) de laatste waarde in de corresponderende kolommen Verklaar de fouten die je ziet en de foutmeldingen die optreden Resultaat: last1.xls Letterlijk zoals op de webpagina: Function LASTINROW(rnginput As Range) As Variant Dim workrange As Range Dim i As Integer, CellCount As Integer Application.Volatile Set workrange = rnginput.Rows(1).EntireRow Set workrange = Intersect(workrange.Parent.UsedRange, workrange) CellCount = workrange.Count For i = CellCount To 1 Step -1 If Not IsEmpty(workrange(i)) Then LASTINROW = workrange(i).Value Exit Function End If Next i End Function Function LASTINCOLUMN(rnginput As Range) As Variant Dim workrange As Range Dim i As Integer, CellCount As Integer Application.Volatile Set workrange = rnginput.Columns(1).EntireColumn Set workrange = Intersect(workrange.Parent.UsedRange, workrange) CellCount = workrange.Count For i = CellCount To 1 Step -1 If Not IsEmpty(workrange(i)) Then LASTINCOLUMN = workrange(i).Value Exit Function End If Next i End Function VBA 9.2:  VBA 9.2 Pas de VBA-code in last1.xls aan zodat lastinrow en lastincolumn niet langer een waarde terugleveren, maar een referentie naar de laatste cel Ga als volgt te werk Verwijder de variant type declaratie in de bovenste lijn van de functiedefinitie Vervang de lijn LASTINCOLUMN = workrange(i).value door set LASTINCOLUMN = workrange(i) (idem voor lastinrow) Voeg boven de eerste rij een rij toe waarin het rijnummer van het laatste element wordt berekend Voeg voor de eerste kolom een kolom toe waarin het kolomnummer van het laatste element wordt berekend Oplossing: last2.xls Voeg wel een rij met =ROW(lastincolumn(x)) toe om het rijnummer weer te geven van de gevonden referentie. Idem voor COLUMN. Als je geen referentie teruglevert kan je b.v. niet het kolomnummer berekenen van het laatste element. Een functie die een referentie teruglevert kan ook dienen om b.v. een formule in dat laatste element te stoppen. wordt vervangen door Analoog voor LASTINROW Opgepast: de reeds ingevulde cellen met =RAND() worden telkens herberekend als er ergens nieuwe waarden worden toegevoegd. Een foutmelding die wel eens durft optreden maakt gewag van 'circular references'. Wanneer een rij/kolom nog geen waarden van de gebruiker heeft meegekregen, is de cel waarin de functie wordt aangeroepen zelf de laatste cel, waardoor Excel wat in de war geraakt. … If Not IsEmpty(workrange(i)) Then LASTINCOLUMN = workrange(i).Value Exit Function … … If Not IsEmpty(workrange(i)) Then LASTINCOLUMN = workrange(i) Exit Function …

Add a comment

Related presentations

Related pages

Opl. oef. op constructie en classificatie van vierhoeken (8)

Write a comment. Please sign in to GeoGebra in order to use this feature. Comments (0) There are no comments for this material yet.
Read more

Opl. oef. op constructie en classificatie van vierhoeken (8)

Opl. oef. op constructie en classificatie van vierhoeken (8) – André Snijers
Read more

opl.org.lb - Ordre des Pharmaciens du Liban

OPL Connect: Formation continue: E-service: Attestation de stage: Suggestions: Plaintes: PLAINTE SUR LES HORMONES: Sections: Liens utiles: L'Etudiant ...
Read more

8.ORF Motorsport Team 2 - 24-stunden-nordring

8.ORF Motorsport Team 2. Opel C-Kadett, Bj 1979, 1200ccm !!! ... 30.Böse Opels; 31.Fast & P(r)olo; 32.Frankensteins Ente; 33.Die Chaoscamper; 34.Sternsinger;
Read more

Opel Österreich | Neue Fahrzeuge und Angebote

Opel Österreich. Entdecken Sie das ganze Angebot neuer Opel Fahrzeuge. Hier finden Sie die neusten Angeboten für Opel Personen- und Nutzfahrzeuge.
Read more

Autohaus ÖFAG, 4x im Salzburger Land - Opel Vertragshändler

Hier finden Sie unser komplettes Angebot an Service für Opel Fahrzeuge, sowie über 1000 sofort lieferbare Neuwagen und 3000 Gebrauchtwagen
Read more

Opel Corsa C 1.3 CDTI UPH Bluetooth - YouTube

[Corsa C] Tutorial MFD Leds - Duration: 8:16. SrCorsaC 7,862 ... Opel Corsa 1.3 CDTI ECO ANNIVERSARY EDITION NAVIGATIE / BLUETOOTH ...
Read more

Opel Konfigurator | Opel Österreich

Testen Sie das Opel Angebot: ADAM, KARL, Corsa, Mokka, Meriva, Astra, Cascada, Insignia, Zafira, Antara.
Read more