OP/Excel: verschil tussen versies
Uit FOK!wiki
k (Excelunusual) |
|||
Regel 61: | Regel 61: | ||
'FOK!_macro_1 code | 'FOK!_macro_1 code | ||
next[/code][/spoiler] | next[/code][/spoiler] | ||
+ | |||
+ | [b][i]Mooi, grappig en cool[/b][/i] | ||
+ | Een uitgebreide site met nuttige en minder nuttige excelsheetjes. Van [url=http://excelunusual.com/archive/2011/07/a-family-of-speedometers-video-preview/]kekke grafieken[/url] om je manager of leraar te betoveren via oscillogrammen en simulatoren tot [url=http://excelunusual.com/archive/2011/07/a-fast-pong-game-with-special-effects-in-excel-2003-video-preview/]pong[/url] voor als het weer een typische vrijdagmiddag is: [url=http://excelunusual.com/]Excelunusual[/url] | ||
[b][i]Verder[/i][/b] | [b][i]Verder[/i][/b] |
Versie van 1 mei 2012 om 11:57
[img]http://i42.tinypic.com/2co31ux.jpg[/img] [b]Welkom bij [i]“Het grote Excel vragentopic”[/i] waar je terecht kan met vragen over Excel.[/b] In dit topic is het de bedoeling dat we gericht vragen stellen en antwoorden geven op de gestelde vragen. Om alles zo goed mogelijk te laten verlopen zijn er een aantal regels. [b][i]Regels[/i][/b] 1. Als je een vraag stelt, zet er dan bij welke versie van Excel je hebt en op welke taal hij ingesteld staat. 2. Zet macrocode tussen [ code ] tags 3. Als het “pseudo-code” is, vermeldt dit dan duidelijk 4. Er bestaan geen domme vragen, wel domme antwoorden. Als jouw antwoord niet gaat bijdragen, geef het antwoord dan niet. 5. Dit topic is geen “code-FEBO” waar je half opgewarmde code uit de muur trekt, het is de bedoeling dat je er zelf iets van leert. [b][i]Definities[/i][/b] [b]Functie[/b] Een interne functie die bij Excel is geleverd. [b]UDF[/b] Een “user definded function”, een zelfgebouwde functie [b]Macro[/b] Een stuk code die opdrachten uitvoert, gebouwd in (meestal) de VBA editor [b]Add-In[/b] Een Excel workbook met VBA-code (of C#, C) die als .xla (of .xll) is opgeslagen, deze is als vaste plug-in in Excel te plaatsen. [b]Workbook[/b] Het excelbestand [b]Sheet of Worksheet[/b] Het tabblad [b]Form, Formulier, Userform[/b] Een Dialoogvenster in VBA gebouwd [b][i]Tips & Links[/i][/b] De help functie van excel of visual basic voor excel kan je een eind op weg helpen. (F1) Het workbook met het FOK!-menu zoals in de banner weergegeven is[url=http://www.mediafire.com/?8kbsfc8v0mjyiff] hier [/url]te vinden. Dit menu is naar wens aan te passen. De icoontjes in het menu zijn[url=http://www.outlookexchange.com/articles/toddwalker/BuiltInOLKIcons.asp] hier [/url] allemaal weergegeven. In dit workbook zijn drie macro's aanwezig: Een printertool waarmee je uit meerder workbooks sheets kan selecteren voo afdrukken, een power replace die termen kan wijzigen in meerdere workbooks tegelijk en een formule vertaler, de formule in de actieve cell wordt in het engels weergegeven, je kan ook een engelse formule invoeren die dan in de actieve cell in de geldende taal wordt geplaatst. De UDF is naar aanleiding van een vraag in topic #29. De functie kan worden aangeroepen door in een cel =FOK() te typen en dan op de [b]Fx[/b] te klikken voor uitleg over de variabelen. De VBA editor bereik je door ALT+F11 in te drukken. Vanaf Excel 2007 is de VBA editor lastiger te vinden. Op[url=http://msdn.microsoft.com/en-us/library/ee814737.aspx] deze [/url]site wordt uitgelegd hoe je de editor kan activeren. De interne functies zijn afhankelijk van welke taal jouw Excel draait. Op[url=http://dolf.trieschnigg.nl/excel/excel.html] deze [/url] en [url=http://branders.name/files/Excel-Function-Reference.pdf] deze [/url]site kun je de formules in verschillende talen vertalen. De meer uitgebreide macro's kunnen traag worden, ook kan het scherm flikkeren als gevolg van veel "select" acties. Deels kun je dit ondervangen door zo veel mogelijk select acties te vervangen door directe verwijzingen naar cells en deels door een macro-optimalisatie door te voeren. In de onderstaande code is een routine voor macro-optimalisatie en een routine om de optimalisatie weer uit te zetten weergegeven. In de voorbeeld sheet is een uitgebreide versie van MOA en MOU opgenomen. [spoiler][code]Sub MOA() 'Macro optimalisatie aan 'Roep deze routine aan bij aanvang van jouw code Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False End Sub Sub MOU() 'macro optimalisatie uit 'Roep deze routine aan na afloop van jouw code 'zorg er ook voor dat eventuele foutvangers ook verwijzen naar deze routine Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True Application.StatusBar = "" End Sub[/code][/spoiler] Bij macro's die een bepaalde, merkbare, tijd nodig hebben om hun werk te doen is het van belang de gebruiker een idee te geven van wat er gebeurt, zeker met macro-optimalisatie aan kan het lijken alsof Excel is vastgelopen. Je kan bijvoorbeeld de statusbar een waarde geven, met eventueel een percentage van de reeds uitgevoerde code. [spoiler][code]***Pseudo-code*** for i = 1 to EndOfRoutine Application.StatusBar = "Bezig met uitvoeren FOK! macro_1 " _ & 100 - cInt((EndOfRoutine - i)/ EndOfRoutine * 100) & " %" 'FOK!_macro_1 code next[/code][/spoiler] [b][i]Mooi, grappig en cool[/b][/i] Een uitgebreide site met nuttige en minder nuttige excelsheetjes. Van [url=http://excelunusual.com/archive/2011/07/a-family-of-speedometers-video-preview/]kekke grafieken[/url] om je manager of leraar te betoveren via oscillogrammen en simulatoren tot [url=http://excelunusual.com/archive/2011/07/a-fast-pong-game-with-special-effects-in-excel-2003-video-preview/]pong[/url] voor als het weer een typische vrijdagmiddag is: [url=http://excelunusual.com/]Excelunusual[/url] [b][i]Verder[/i][/b] Alle vorige topics zijn [url=http://forum.fok.nl/topicchain/791]hier[/url] terug te vinden. Nieuw topic? Haal de [url=http://wiki.fok.nl/index.php/OP/Excel]OP uit de wiki[/url]