{"id":55000262,"date":"2015-10-01T00:00:00","date_gmt":"2020-01-24T15:59:17","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=262"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Rund_um_den_VBAEditor","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html","title":{"rendered":"Rund um den VBA-Editor"},"content":{"rendered":"<p class='introduction'>Ob Sie schon ein alter Hase sind, oder gerade die ersten Schritte der Programmierung unter Access unternehmen, eine eingehendere Auseinandersetzung mit der Entwicklungsumgebung von Office und Visual Basic for Applications kann nicht schaden. Beleuchten wir deshalb in diesem Beitrag im Schnelldurchlauf deren Bestandteile, welche sich unter der Haube des VBA-Editors verbergen.<\/p>\n<p>Sie rufen die VBA-Entwicklungsumgebung von Access auf, indem Sie im Ribbon &uuml;ber den Reiter <b>Datenbanktools<\/b> die Schaltfl&auml;che <b>Visual Basic<\/b> anklicken, oder alternativ einfach die Tastenkombination <b>STRG-G<\/b> dr&uuml;cken. Ebenso gelangen Sie dorthin, wenn Sie den Button mit den drei P&uuml;nktchen bet&auml;tigen, der sich hinter jeder Zeile eines Ereignisses im Formular- oder Berichtsentwurf befindet, wobei dann allerdings auch gleich der Rahmen einer Ereignisprozedur angelegt wird. Die VBA-Entwicklungsumgebung &#8211; kurz: VBA-Editor &#8211; sieht dann etwa so aus, wie in Bild 1 und stellt eine Sammlung von Einzelkomponenten dar, die sich ein- und ausblenden lassen. Sie unterscheidet sich in nichts von der VBA-Umgebung, die Sie auch unter Excel oder Word vorfinden, und sogar die hier vorgenommenen Einstellungen werden von allen Office-Anwendungen geteilt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/VBAEditor.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/VBAEditor.png\" alt=\"Komplette VBA-Entwicklungsumgebung mit einem ge&ouml;ffneten Beispielcode\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Komplette VBA-Entwicklungsumgebung mit einem ge&ouml;ffneten Beispielcode<\/p>\n<p>Die Komponenten sind in der Regel Unterfenster der Rahmenumgebung, die sich selbst an eine beliebige Stelle des Bildschirm platzieren l&auml;sst. Sollten Sie zwei Monitore zur Verf&uuml;gung haben, dann macht es Sinn, den VBA-Editor auf den zweiten Bildschirm zu schieben, damit die Access-Oberfl&auml;che nicht von ihm &uuml;berdeckt wird. Dort k&ouml;nnen Sie das Rahmenfenster auch maximieren. VBA merkt sich die Positionen und den Zustand aller Bestandteile und stellt sie beim n&auml;chsten Aufruf wieder her.<\/p>\n<p>Der wichtigste Teil ist sicher das Code-Fenster, welches sich im Zentrum des Editors zeigt. Ein Code-Fenster weist kein eigenes Schlie&szlig;en-Kreuzchen auf, sondern wird &uuml;ber das rote Kreuzchen rechts oben unterhalb der Schlie&szlig;en-Schaltfl&auml;che der Umgebung selbst geschlossen. Welche weiteren Komponenten in der Umgebung eingeschaltet sind, steuert das Men&uuml; <b>Ansicht<\/b> (siehe Bild 2) und dessen Untermen&uuml; <b>Symbolleisten<\/b> (Bild 3).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/SubMenueAnsicht.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/SubMenueAnsicht.png\" alt=\"Men&uuml; Ansicht des VBA-Editors\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Men&uuml; Ansicht des VBA-Editors<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/KontextMenueleisten.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/KontextMenueleisten.png\" alt=\"Untermen&uuml; zu Symbolleisten\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Untermen&uuml; zu Symbolleisten<\/p>\n<h2>Symbolleisten<\/h2>\n<p>Die Symbolleisten sind imgrunde nur f&uuml;r den schnelleren Zugriff auf bestimmte Funktionen gedacht, weisen aber keine Elemente auf, die nicht auch &uuml;ber das Men&uuml; des Editors zu erreichen w&auml;ren. So finden sich etwa in der Symbolleiste <b>Voreinstellung<\/b>  &#8211; in Bild 1 ganz oben &#8211; viele Elemente, die auch im Men&uuml; <b>Ansicht vorkommen<\/b>. Den Objektkatalog k&ouml;nnen Sie so &uuml;ber nur einen Button-Klick aufrufen, statt erst das Men&uuml; <b>Ansicht<\/b> aufzuklappen. Statt mehrere Symbolleisten anzuordnen, k&ouml;nnen Sie genauso gut &uuml;ber <b>Anpassen&#8230;<\/b> ihre eigene Zusammenstellung fabrizieren, und zwar auf die gleiche Weise, wie in fr&uuml;heren Office-Applikationen. Dabei ist  es ratsam, nicht die eingebauten Leisten zu modifizieren, sondern eine neue Leiste zu erzeugen und die gew&uuml;nschten Elemente in Sie zu kopieren, denn beim Zur&uuml;cksetzen von durcheinander gekommenen eingebauten Leisten gingen sonst alle Anpassungen verloren. Vor allem sollten Sie Abstand davon nehmen, die Leisten von Add-Ins zu ver&auml;ndern, wie etwa die der <b>MZ-Tools <\/b>in Bild 3, auf die wir noch zu sprechen kommen.<\/p>\n<h2>Andockbare Fenster<\/h2>\n<p>Bis auf die Code-Fenster lassen sich alle weiteren VBA-Komponenten in die Umgebung eindocken oder als separate Fenster anzeigen. Diese M&ouml;glichkeit l&auml;sst sich &uuml;ber den Optionen-Dialog von VBA steuern (Bild 4). Standardm&auml;&szlig;ig ist das seltsamerweise f&uuml;r den Objektkatalog deaktiviert, was Sie besser &auml;ndern, um zu einer Anordnung, wie in Bild 1 kommen zu k&ouml;nnen. Sie l&ouml;sen ein Fenster aus der Verankerung, indem Sie es an der Titelleiste solange in eine Richtung ziehen, bis es als separates Fenster erscheint. Sie verankern es wieder, indem Sie es an der Titelleiste in die gew&uuml;nschte Umgebungsposition ziehen, was bei zahlreichen sichtbaren Komponenten nicht ganz einfach ist. Blenden Sie deshalb zun&auml;chst alle Komponenten bis auf den Projektexplorer aus und f&uuml;gen sie nach und nach die anderen Fenster hinzu, wobei Sie jeweils die Verankerung neu bestimmen. Welche Stellen Sie dabei bevorzugen, ist Geschmackssache.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/VBAOptionen.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/VBAOptionen.png\" alt=\"Verankern-Seite des VBA-Optionen-Dialogs\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Verankern-Seite des VBA-Optionen-Dialogs<\/p>\n<h2>Der Projektexplorer<\/h2>\n<p>Eine Datenbank kann ein VBA-Projekt enthalten, das alle seine Code-Teile beherbergt. Also globale Module, Klassenmodule, sowie Formular- und Berichtsmodule. Einen Spezialfall stellen die UserForm-Module dar, die jedoch in Access-Datenbanken, im Gegensatz zu Excel oder Word, praktisch irrelevant sind. Die Verwaltung der Module &uuml;bernimmt der Projektexplorer, der mitsamt seinem Kontextmen&uuml; in Bild 5 zu sehen ist. Dieses Men&uuml; ist abermals eine Zusammenstellung von Anweisungen, die auch im Men&uuml; des VBA-Editors auftauchen, enth&auml;lt jedoch zus&auml;tzliche Befehle, wie den zum Anlegen eines neuen Moduls per <b>Einf&uuml;gen<\/b>. Manche Add-Ins legen dar&uuml;ber hinaus hier auch zus&auml;tzliche Eintr&auml;ge an &#8211; in Bild 5 etwa Anweisungen der <b>MZ-Tools<\/b>. Sie k&ouml;nnen den Projektexplorer ebenfalls als separates Fenster aus der Verankerung l&ouml;sen. Es gibt allerdings keinen triftigen Grund, dies zu tun. In der Regel befindet er sich eingedockt an der linken Seite der VBA-Umgebung.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/ProjektExplorerKontext.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/ProjektExplorerKontext.png\" alt=\"Der VBA-Projektexplorer mit seinem Kontextmen&uuml;\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Der VBA-Projektexplorer mit seinem Kontextmen&uuml;<\/p>\n<h2>Code-Fenster<\/h2>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000262\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000262?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000262\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ob Sie schon ein alter Hase sind, oder gerade die ersten Schritte der Programmierung unter Access unternehmen, eine eingehendere Auseinandersetzung mit der Entwicklungsumgebung von Office und Visual Basic for Applications kann nicht schaden. Beleuchten wir deshalb in diesem Beitrag im Schnelldurchlauf deren Bestandteile, welche sich unter der Haube des VBA-Editors verbergen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66112014,662014,44000011],"tags":[],"class_list":["post-55000262","post","type-post","status-publish","format-standard","hentry","category-66112014","category-662014","category-VBAGrundlagen"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Rund um den VBA-Editor - Access [basics]<\/title>\n<meta name=\"description\" content=\"Ob Sie schon ein alter Hase sind, oder gerade die ersten Schritte der Programmierung unter Access unternehmen, eine eingehendere Auseinandersetzung mit der Entwicklungsumgebung von Office und Visual Basic for Applications kann nicht schaden. Beleuchten wir deshalb in diesem Beitrag im Schnelldurchlauf deren Bestandteile, welche sich unter der Haube des VBA-Editors verbergen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rund um den VBA-Editor - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Ob Sie schon ein alter Hase sind, oder gerade die ersten Schritte der Programmierung unter Access unternehmen, eine eingehendere Auseinandersetzung mit der Entwicklungsumgebung von Office und Visual Basic for Applications kann nicht schaden. Beleuchten wir deshalb in diesem Beitrag im Schnelldurchlauf deren Bestandteile, welche sich unter der Haube des VBA-Editors verbergen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/VBAEditor.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"12\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/VBAEditor.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html\",\"name\":\"Rund um den VBA-Editor - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:17+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Ob Sie schon ein alter Hase sind, oder gerade die ersten Schritte der Programmierung unter Access unternehmen, eine eingehendere Auseinandersetzung mit der Entwicklungsumgebung von Office und Visual Basic for Applications kann nicht schaden. Beleuchten wir deshalb in diesem Beitrag im Schnelldurchlauf deren Bestandteile, welche sich unter der Haube des VBA-Editors verbergen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Rund_um_den_VBAEditor.html\",\"name\":\"Rund um den VBA-Editor\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000262"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000262\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}