{"id":1648,"date":"2020-07-08T13:57:27","date_gmt":"2020-07-08T13:57:27","guid":{"rendered":"https:\/\/help.hbsoftware365.com\/?p=1648"},"modified":"2021-12-23T13:31:26","modified_gmt":"2021-12-23T13:31:26","slug":"exsion-automatische-uitvoering-procedures-vba","status":"publish","type":"post","link":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/help-exsion\/exsion-vba-tips\/exsion-automatische-uitvoering-procedures-vba\/","title":{"rendered":"Automatische uitvoering procedures met VBA"},"content":{"rendered":"\n<h1>\n\t\tAutomatische uitvoering procedures met VBA\n\t<\/h1>\n\t<p>Exsion biedt de mogelijkheid eigen VBA procedures uit te voeren voor of na het gegevens vernieuwen. Verder is het andersom mogelijk de functie &#8220;Gegevens vernieuwen&#8221; uit te voeren vanuit de eigen procedure. Houdt er wel rekening mee dat fouten die optreden binnen de eigen procedure van invloed kunnen zijn op de werking van Exsion. Test bij eventuele problemen altijd eerst uit of de fout ook optreed met standaard gebruik van Exsion zonder eigen procedures.<\/p>\n\t<h2>Aanroep vanuit een eigen procedure<\/h2>\n<p>Vanuit een eigen VBA procedure kan de functie Gegevens vernieuwen worden aangeroepen. Op de plaats waar u in uw eigen procedure de gegevens wilt vernieuwen voegt u de volgende regel toe in de code via de VBA editor (F11):<\/p>\nApplication.Run &#8220;&#8216;Exsion.xlam&#8217;!MENU_DATA&#8221;\n\n<p>De uitvoering van deze regel heeft exact hetzelfde effect als het drukken op de knop &#8220;Gegevens vernieuwen&#8221;&nbsp; in het menu van Exsion.<\/p>\n<p>Om de uitvoering niet afhankelijk te maken van Exsion kunt u het beste om de uitvoering van Exsion functies \u201c<b>On Local Error<\/b>\u201d regels toevoegen.<\/p>\nOn Local Error Resume Next\nApplication.Run &#8220;&#8216;Exsion.xlam&#8217;!MENU_DATA&#8221;\nOn Local Error GoTo 0\n\n<p>Naast gegevens vernieuwen kunt u ook de functie formules naar waarden automatisch uitvoeren. Neem hiervoor de volgende code op:<\/p>\nApplication.Run &#8220;&#8216;Exsion.xlam&#8217;!MENU_VALUES&#8221;\n\n<p>Indien u de vraag krijgt of de formules omgezet moeten worden naar waarden kunt u deze onderdrukken door meldingen tijdelijk uit te schakelen. Dat doet u door een regel voor en na de formules naar waarden actie te plaatsen. Eventueel kunt u de huidige instelling opslaan in een variabele om deze vervolgens weer terug te plaatsen.<\/p>\nDim s_displayAlertsSetting As Boolean\ns_displayAlertsSetting = Application.DisplayAlerts\nApplication.DisplayAlerts = False\nOn Local Error Resume Next\nApplication.Run &#8220;&#8216;Exsion.xlam&#8217;!MENU_VALUES&#8221;\nOn Local Error GoTo 0\nApplication.DisplayAlerts = s_displayAlertsSetting\n\n\t<h2>Uitvoering procedure voor gegevens vernieuwen<\/h2>\n<p>Het is mogelijk een procedure uit te voeren net voor het gegevens vernieuwen. Neem hiervoor de volgende code op in het project. Voer in plaats van [Naam eigen procedure] de naam in van de procedure die u wilt uitvoeren. Deze procedure dient binnen hetzelfde project aanwezig te zijn.<\/p>\nSub Exsion_beforerefresh()\n\tCall [Naam eigen procedure]\nEnd Sub\n\n<p>Om de gegevens te vernieuwen af te breken kan de volgende code worden gebruikt:<\/p>\nSub Exsion_beforerefresh()\n\tIf Cancel Then\n\t\tErr.Raise 513, &#8220;exsion_cancel&#8221;\n\t\tExit Sub\n\tEnd If\nEnd Sub\n\n\t<h2>Uitvoering procedure na gegevens vernieuwen<\/h2>\n<p>Naast het uitvoeren van een procedure net voor het gegevens vernieuwen is het ook mogelijk iets uit te voeren net na het gegevens vernieuwen. Neem hiervoor onderstaande code op in het project. Voer in plaats van [Naam eigen procedure] weer de naam in van de procedure die u wilt uitvoeren.<\/p>\nSub Exsion_onrefresh()\n\tCall [Naam eigen procedure]\nEnd Sub\n\n\t<h2>Automatisch verversen na wijzigen parameter<\/h2>\n<p>Benoem de cel die u wijzigt met een logische naam. In het voorbeeld hieronder is dit \u2018Subcategorie\u2019. Indien u een andere naam gebruikt past u deze dan ook in onderstaande code aan.<\/p>\n<p>Plaats vervolgens de volgende code in ThisWorkbook.<\/p>\nPrivate Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)\n\tIf Target = ActiveSheet.Range(&#8220;Subcategorie&#8221;) Then\n\t\tApplication.Run &#8220;&#8216;Exsion.xlam&#8217;!MENU_DATA&#8221;\n\t\tActiveSheet.Calculate\n\tEnd If\nEnd Sub\n\n\t<p>\u00a9HB Software B.V.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automatische uitvoering procedures met VBA Exsion biedt de mogelijkheid eigen VBA procedures uit te voeren voor of na het gegevens vernieuwen. Verder is [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[42],"tags":[],"class_list":["post-1648","post","type-post","status-publish","format-standard","hentry","category-exsion-vba-tips"],"_links":{"self":[{"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/posts\/1648","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/comments?post=1648"}],"version-history":[{"count":7,"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/posts\/1648\/revisions"}],"predecessor-version":[{"id":3326,"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/posts\/1648\/revisions\/3326"}],"wp:attachment":[{"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/media?parent=1648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/categories?post=1648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/help.hbsoftware365.com\/smarttrade\/st-about-smarttrade-help\/st-intro\/wp-json\/wp\/v2\/tags?post=1648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}