{"id":55001621,"date":"2026-10-01T00:00:00","date_gmt":"2026-10-05T19:28:31","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1621"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"VBAOptionen_die_jeder_Entwickler_kennen_muss","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/","title":{"rendered":"VBA-Optionen, die jeder Entwickler kennen muss"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg01.met.vgwort.de\/na\/08e24401d9ee4e21b99e6d6d11b96783\" width=\"1\" height=\"1\" alt=\"\"><b>Nicht nur Access, sondern auch der VBA-Editor bietet eine Reihe von Optionen an. Diese erlauben, das Aussehen und die Funktionalit&auml;t des VBA-Editors anzupassen. Es gibt zwar nicht die F&uuml;lle von Optionen, die Sie vielleicht von modernen Entwicklungsumgebungen kennen, aber manchmal ist weniger auch mehr. In diesem Beitrag stellen wir die wichtigsten Optionen f&uuml;r den VBA-Editor vor &#8211; damit verhindern Sie beispielsweise dauerhaft das Verwenden von nicht deklarierten Variablen, nutzen verschiedene Einstellungen f&uuml;r die Fehlerbehandlung oder deaktivieren nervige Meldungen bei Syntaxfehlern.<\/b><\/p>\n<h2>Variablendeklaration per Option erzwingen<\/h2>\n<p>Die Optionen des Access-Hauptfensters sind hinl&auml;nglich bekannt. Weniger oft nutzt man hingegen die Optionen des VBA-Editors &#8211; zumindest, wenn man danach geht, wie oft wir bei unseren Kunden Anwendungen sehen, in denen die Anweisung <b>Option Explicit <\/b>fehlt.<\/p>\n<p>Diese Anweisung finden wir &uuml;blicherweise oben im VBA-Modul, gleich hinter der Anweisung <b>Option Compare Database<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Option Compare Database<\/span>\r\n<span style=\"color:blue;\">Option Explicit<\/span><\/pre>\n<p>Allerdings finden wir sehr oft nur die erste Anweisung vor. Dabei ist <b>Option Explicit <\/b>sehr wichtig: Damit stellen wir sicher, dass bei der Verwendung nicht deklarierter Variablen im VBA-Code ein Kompilierfehler ausgel&ouml;st wird.<\/p>\n<p>Nicht deklarierte Variablen k&ouml;nnen problematisch werden, weil so beispielsweise durch Tippfehler verursachte unterschiedliche Schreibweisen f&uuml;r die gleiche Variable ein unerwartetes Verhalten hervorrufen.<\/p>\n<p>Warum aber finden wir die Anweisung <b>Option Explicit <\/b>in dem einen VBA-Projekt vor, in anderen fehlt es jedoch teilweise v&ouml;llig?<\/p>\n<p>Das h&auml;ngt vermutlich mit einer Option des VBA-Editors zusammen, die standardm&auml;&szlig;ig deaktiviert ist, n&auml;mlich <b>Variablendeklaration erforderlich<\/b>. Diese finden wir gleich auf der ersten Seite des Optionen-Dialogs (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2026_05\/pic_1621_001.png\" alt=\"Erste Seite der Optionen im VBA-Editor\" width=\"549,559\" height=\"445,8219\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Erste Seite der Optionen im VBA-Editor<\/span><\/b><\/p>\n<p>Sobald wir diese Option aktivieren, wird <b>Option Explicit <\/b>bei jedem neu angelegten Modul automatisch hinzugef&uuml;gt.<\/p>\n<p>Leider sorgt dies nicht automatisch daf&uuml;r, dass die Anweisung <b>Option Explicit<\/b> nachger&uuml;stet wird, wo es noch fehlt. Eine L&ouml;sung, wie Sie schnell Module ohne <b>Option Explicit <\/b>finden k&ouml;nnen, zeigen wir im Beitrag <b>Fehlendes Option Explicit finden und nachr&uuml;sten <\/b>(<b>www.access-im-unternehmen.de\/1619<\/b>).<\/p>\n<p>Wer diese Option jedoch direkt aktiviert, braucht sich sp&auml;ter nicht um fehlende <b>Option Explicit<\/b>-Anweisungen zu k&uuml;mmern.<\/p>\n<h2>Automatische Syntax&uuml;berpr&uuml;fung deaktivieren<\/h2>\n<p>Der erste Eintrag auf der ersten Seite des Optionen-Dialogs hei&szlig;t <b>Automatische Syntax&uuml;berpr&uuml;fung<\/b>.<\/p>\n<p>Dieser ist standardm&auml;&szlig;ig aktiviert und sorgt so daf&uuml;r, dass bei Eingabe von Codezeilen, die einen Syntaxfehler enthalten, direkt eine Fehlermeldung angezeigt wird.<\/p>\n<p>Bild 2 zeigt ein Beispiel. Hier haben wir einen R&uuml;ckgabeparameter definiert, obwohl wir keine <b>Function<\/b>-, sondern eine <b>Sub<\/b>-Prozedur definiert haben.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2026_05\/pic_1621_002.png\" alt=\"Anzeige einer Meldung f&uuml;r einen Syntaxfehler\" width=\"649,559\" height=\"326,2186\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Anzeige einer Meldung f&uuml;r einen Syntaxfehler<\/span><\/b><\/p>\n<p>Die zus&auml;tzlich zur roten Markierung des Textes erscheinende Fehlermeldung ist zumindest f&uuml;r Einsteiger hilfreich, au&szlig;erdem wird auch noch das Schl&uuml;sselwort mit blauem Hintergrund markiert, das f&uuml;r den Fehler verantwortlich ist.<\/p>\n<p>Versiertere Entwickler k&ouml;nnen auf solche Fehlermeldungen und Markierungen verzichten, f&uuml;r sie reicht es aus, dass die fehlerhafte Zeile in roter Schrift erscheint.<\/p>\n<p>Zumindest jedoch bei manchen Operationen st&ouml;rt diese Fehlermeldung &#8211; zum Beispiel, wenn wir Anweisungen aus einer anderen Programmiersprache in das Modul einf&uuml;gen, um dieses Schritt f&uuml;r Schritt in VBA zu &uuml;bersetzen. Hier erhalten wir dann st&auml;ndig neue Fehlermeldungen. Wenn wir diese nicht mehr erhalten wollen, k&ouml;nnen wir einfach die Option <b>Automatische Syntax&uuml;berpr&uuml;fung <\/b>ausschalten.<\/p>\n<h2>Benutzerdefinierte Fehlerbehandlung umgehen<\/h2>\n<p>Laufzeitfehler sollten an einer geeigneten Stelle behandelt werden, damit der Benutzer keine eingebauten Fehlermeldungen von VBA sieht. Bei gr&ouml;&szlig;eren Prozeduren und an den Einstiegspunkten einer Anwendung empfiehlt sich in der Regel eine eigene Fehlerbehandlung. Kleinere Hilfsprozeduren k&ouml;nnen Fehler dagegen an die aufrufende Prozedur weiterreichen.<\/p>\n<p>Gegebenenfalls stattet man auch l&auml;ngere Prozeduren mit Fehlerbehandlungen aus, ohne Zeilennummern anzulegen und diese in einer Fehlermeldung mit der Funktion <b>Erl<\/b> auszugeben. Wir erhalten dann also eine Fehlermeldung, die eventuell sogar einen Hinweis auf die fehlerhafte Prozedur und das Modul enth&auml;lt, in dem sich diese Prozedur befindet. Aber wir wissen nicht, in welcher Zeile der Fehler ausgel&ouml;st wird.<\/p>\n<p>Noch schwieriger wird es, wenn wir Fehler mit Absicht &uuml;bergehen &#8211; beispielsweise, weil wir in einer verschachtelten Struktur ein XML-Dokument untersuchen, aber von verschiedenen Elementen wissen, dass sie nicht immer vorhanden sind. Dann k&ouml;nnte man einfach auf die entsprechenden Elemente zugreifen und zuvor die Meldung von Fehlern mit <b>On Error Resume Next <\/b>deaktivieren. So f&uuml;hrt das Nichtvorhandensein nicht zu einer Unterbrechung. Die betreffende Zuweisung wird jedoch nicht ausgef&uuml;hrt. Dabei ist zu beachten, dass die Zielvariable gegebenenfalls ihren bisherigen Wert beh&auml;lt.<\/p>\n<p>Tritt dann allerdings doch ein unerwarteter Fehler auf, der das Verhalten des Codes verf&auml;lscht, m&uuml;ssen wir herausfinden, welche Zeile den Fehler ausl&ouml;st. Und dann wird es schwierig, gerade wenn wir &#8211; um bei diesem Beispiel zu bleiben &#8211; ein sehr umfangreiches XML-Dokument einlesen. Das Debuggen von Hand wird dann sehr aufwendig.<\/p>\n<p>Einfacher ist es dann, eine Option zu aktivieren, mit der Laufzeitfehler gemeldet werden, obwohl zuvor <b>On Error Resume Next <\/b>oder <b>On Error GoTo &#8230; <\/b>aktiviert wurde.<\/p>\n<p>Dann h&auml;lt VBA trotz On Error Resume Next an der fehlerausl&ouml;senden Anweisung an, ohne dass wir die Fehlerbehandlung zuvor auskommentieren m&uuml;ssen (siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2026_05\/pic_1621_004.png\" alt=\"Fehlermeldung trotz On Error Resume Next\" width=\"649,559\" height=\"300,2015\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Fehlermeldung trotz On Error Resume Next<\/span><\/b><\/p>\n<p>Um dies zu erreichen, stellen wir in den Optionen des VBA-Editors auf der Registerkarte <b>Allgemein <\/b>die Option <b>Unterbrechen bei Fehlern <\/b>auf den Wert <b>Bei jedem Fehler <\/b>ein (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2026_05\/pic_1621_003.png\" alt=\"Optionen zum Unterbrechen bei Fehlern\" width=\"499,5589\" height=\"405,2601\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Optionen zum Unterbrechen bei Fehlern<\/span><\/b><\/p>\n<h2>Wozu kann man das noch nutzen?<\/h2>\n<p>Neben der Suche nach Fehlern, die das Ergebnis des Programmcodes verf&auml;lschen oder unerwartetes Verhalten bewirken, k&ouml;nnen wir so auch nach Fehlern suchen, die wir mit Absicht provozieren.<\/p>\n<p>Ein Beispiel ist der Fehler <b>3022<\/b>, der etwa dann auftritt, wenn wir einer Tabelle mit einem eindeutigen Index einen neuen Datensatz hinzuf&uuml;gen, der diesen Index verletzt.<\/p>\n<p>So verhindern wir beispielsweise, dass eine Kategorie erneut zu einer Kategorien-Tabelle hinzugef&uuml;gt werden kann:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>ProvozierterFehler()    Dim db<span style=\"color:blue;\"> As <\/span>DAO.Database    Dim lngErrorNumber<span style=\"color:blue;\"> As Long<\/span>    Dim strErrorDescription<span style=\"color:blue;\"> As String<\/span>    <span style=\"color:blue;\">Set<\/span> db = CurrentDb    On Error Resume <span style=\"color:blue;\">Next<\/span>    db.Execute \"INSERT INTO tblKategorien(Kategorie) \" _        & \"VALUES('Kategorie')\", dbFailOnError    lngErrorNumber = Err.Number    strErrorDescription = Err.Description    <span style=\"color:blue;\">On Error GoTo<\/span> 0    If lngErrorNumber = 3022 Then        <span style=\"color:blue;\">MsgBox<\/span> \"Die Kategorie ist bereits vorhanden.\"    ElseIf lngErrorNumber &lt;&gt; 0 Then        Err.Raise lngErrorNumber, , strErrorDescription    End IfEnd Sub<\/pre>\n<p>Wenn die einzuf&uuml;gende Kategorie bereits vorhanden ist, l&ouml;st die <b>INSERT INTO<\/b>-Anweisung einen Fehler aus, den wir anschlie&szlig;end untersuchen und im Falle des Fehlers <b>3022 <\/b>eine entsprechende Meldung ausgeben.<\/p>\n<p>Wollen wir solche provozierten Fehler zur Laufzeit aufdecken, um diese durch korrekten Code ohne Fehlermeldung zu ersetzen, k&ouml;nnen wir ebenfalls die Option <b>Unterbrechen bei Fehlern <\/b>auf den Wert <b>Bei jedem Fehler <\/b>einstellen &#8211; VBA h&auml;lt dann an der fehlerausl&ouml;senden Anweisung an und zeigt seine eigene Fehlermeldung an, bevor der Fehler durch den nachfolgenden Code ausgewertet werden kann (siehe Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2026_05\/pic_1621_005.png\" alt=\"Eingebaute Fehlermeldung von VBA\" width=\"549,559\" height=\"311,9448\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Eingebaute Fehlermeldung von VBA<\/span><\/b><\/p>\n<h2>Fehler in Klassenmodulen erkennen<\/h2>\n<p>Es gibt noch eine weitere interessante Einstellung f&uuml;r die Option <b>Unterbrechen bei Fehlern<\/b>, n&auml;mlich <b>In Klassenmodul<\/b>.<\/p>\n<p>Angenommen, wir haben ein Klassenmodul mit dem folgenden Code:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Beispielmethode()\r\n    <span style=\"color:blue;\">Dim <\/span>lngZahl<span style=\"color:blue;\"> As Long<\/span>\r\n    On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n    'H&auml;lt bei \"Bei jedem Fehler\"\r\n    lngZahl = 1 \/ 0\r\n    <span style=\"color:blue;\">On Error GoTo<\/span> 0\r\n    'H&auml;lt bei \"In Klassenmodul\"\r\n    lngZahl = 1 \/ 0\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Diese Klasse deklarieren und initialisieren wir wie folgt und rufen dann die Methode <b>Beispielmethode <\/b>auf:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>FehlerInKlasse()\r\n    <span style=\"color:blue;\">Dim <\/span>objKlasse<span style=\"color:blue;\"> As <\/span>clsKlasse\r\n    <span style=\"color:blue;\">On Error GoTo<\/span> Fehler\r\n    <span style=\"color:blue;\">Set<\/span> objKlasse = <span style=\"color:blue;\">New<\/span> clsKlasse\r\n    <span style=\"color:blue;\">Call<\/span> objKlasse.Beispielmethode\r\n    <span style=\"color:blue;\">Exit Sub<\/span>\r\nFehler:\r\n    <span style=\"color:blue;\">MsgBox<\/span> \"Fehler: \" & Err.Number & \" \" & Err.Description\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Was geschieht bei der Standardeinstellung <b>Unterbrechen bei Fehlern<\/b>: <b>Bei nicht verarbeiteten Fehlern<\/b>? Wir erhalten die von unserer Fehlerbehandlung erzeugte benutzerdefinierte Meldung.<\/p>\n<p>Wie aber wirken sich nun die beiden Einstellungen <b>Bei jedem Fehler <\/b>und <b>In Klassenmodul<\/b> aus?<\/p>\n<p>Wir haben es bereits durch Kommentare im Code des Klassenmoduls angedeutet:<\/p>\n<ul>\n<li>Beim Optionswert <b>Bei jedem Fehler <\/b>h&auml;lt der Code nach wie vor bei jedem Fehler an &#8211; auch wenn sich dieser in einem Klassenmodul befindet, und auch wenn dieser normalerweise durch eine Fehlerbehandlung abgefangen werden sollte.<\/li>\n<li>Beim Optionswert <b>In Klassenmodul<\/b> h&auml;lt VBA bei einem Fehler in einem Klassenmodul an, wenn dieser nicht innerhalb des Klassenmoduls behandelt wird. Das gilt auch dann, wenn die aufrufende Prozedur bereits eine passende Fehlerbehandlung enth&auml;lt. Fehler, die innerhalb der Klassenmethode beispielsweise durch <b>On Error Resume Next <\/b>behandelt werden, f&uuml;hren hingegen nicht zu einer Unterbrechung.<\/li>\n<\/ul>\n<p>Diese Besonderheit gilt nur f&uuml;r Klassenmodule, nicht f&uuml;r gew&ouml;hnliche Prozeduren in Standardmodulen. Schauen wir uns folgenden Beispielcode an:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>FehlerInUnterprozedur()\r\n    <span style=\"color:blue;\">On Error GoTo<\/span> Fehler\r\n    <span style=\"color:blue;\">Call<\/span> Unterprozedur\r\n    <span style=\"color:blue;\">Exit Sub<\/span>\r\nFehler:\r\n    <span style=\"color:blue;\">MsgBox<\/span> \"Fehler \" & Err.Number\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Public Sub <\/span>Unterprozedur()\r\n    <span style=\"color:blue;\">Debug.Print<\/span> 1 \/ 0\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Hauptprozedur ruft die Unterprozedur auf und aktiviert zuvor die Fehlerbehandlung. Der in der Unterprozedur provozierte Fehler wird allerdings in der Hauptprozedur behandelt.<\/p>\n<p>Wollen wir diesen Fehler direkt in der Unterprozedur aufdecken, m&uuml;ssen wir <b>Unterbrechen bei Fehlern <\/b>wieder auf <b>Bei jedem Fehler <\/b>einstellen.<\/p>\n<h2>Weitere Optionen<\/h2>\n<p>Die &uuml;brigen Optionen im Optionen-Dialog des VBA-Editors k&ouml;nnen &uuml;blicherweise mit den Standardeinstellungen betrieben werden. Wir haben hier drei Optionen herausgegriffen, von denen Sie eine unbedingt direkt nach der Installation von Microsoft Access anpassen sollten, n&auml;mlich <b>Variablendeklaration erforderlich<\/b>. Anderenfalls fliegen Ihnen, wenn Sie nicht manuell zu jedem Modul die Zeile <b>Option Explicit<\/b> hinzuf&uuml;gen, fr&uuml;her oder sp&auml;ter nicht deklarierte oder durch Tippfehler versehentlich neu angelegte Variablen um die Ohren.<\/p>\n<p>Au&szlig;erdem haben wir zwei spannende Optionen aufgedeckt, die einem Entwickler die Arbeit erleichtern k&ouml;nnen.<\/p>\n<p>Wenn Sie die Option <b>Automatische Syntax&uuml;berpr&uuml;fung <\/b>deaktivieren, zeigt der VBA-Editor beim Verlassen einer fehlerhaften Zeile keine zus&auml;tzliche Meldung mehr an. Die fehlerhafte Zeile wird weiterhin rot dargestellt.<\/p>\n<p>Und mit den Einstellungen f&uuml;r die Option <b>Unterbrechen bei Fehlern <\/b>k&ouml;nnen wir daf&uuml;r sorgen, dass Fehler tempor&auml;r gemeldet werden, auch wenn wir eigentlich eine benutzerdefinierte Fehlerbehandlung f&uuml;r diese angelegt haben.<\/p>\n<p>Au&szlig;erdem besteht die M&ouml;glichkeit, gezielt bei Laufzeitfehlern in Klassenmodulen anzuhalten, die nicht durch eine Fehlerbehandlung im Klassenmodul selbst abgefangen werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nicht nur Access, sondern auch der VBA-Editor bietet eine Reihe von Optionen an. Diese erlauben, das Aussehen und die Funktionalit&auml;t des VBA-Editors anzupassen. Es gibt zwar nicht die F&uuml;lle von Optionen, die Sie vielleicht von modernen Entwicklungsumgebungen kennen, aber manchmal ist weniger auch mehr. In diesem Beitrag stellen wir die wichtigsten Optionen f&uuml;r den VBA-Editor vor &#8211; damit verhindern Sie beispielsweise dauerhaft das Verwenden von nicht deklarierten Variablen, nutzen verschiedene Einstellungen f&uuml;r die Fehlerbehandlung oder deaktivieren nervige Meldungen bei Syntaxfehlern.<\/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,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662026,66052026,44000028],"tags":[],"class_list":["post-55001621","post","type-post","status-publish","format-standard","hentry","category-662026","category-66052026","category-Ergonomie_und_Benutzeroberflaeche"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>VBA-Optionen, die jeder Entwickler kennen muss - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VBA-Optionen, die jeder Entwickler kennen muss\" \/>\n<meta property=\"og:description\" content=\"Nicht nur Access, sondern auch der VBA-Editor bietet eine Reihe von Optionen an. Diese erlauben, das Aussehen und die Funktionalit&auml;t des VBA-Editors anzupassen. Es gibt zwar nicht die F&uuml;lle von Optionen, die Sie vielleicht von modernen Entwicklungsumgebungen kennen, aber manchmal ist weniger auch mehr. In diesem Beitrag stellen wir die wichtigsten Optionen f&uuml;r den VBA-Editor vor - damit verhindern Sie beispielsweise dauerhaft das Verwenden von nicht deklarierten Variablen, nutzen verschiedene Einstellungen f&uuml;r die Fehlerbehandlung oder deaktivieren nervige Meldungen bei Syntaxfehlern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-05T19:28:31+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg01.met.vgwort.de\/na\/08e24401d9ee4e21b99e6d6d11b96783\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"VBA-Optionen, die jeder Entwickler kennen muss\",\"datePublished\":\"2026-10-05T19:28:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/\"},\"wordCount\":1579,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/08e24401d9ee4e21b99e6d6d11b96783\",\"articleSection\":[\"2026\",\"5\\\/2026\",\"Ergonomie und Benutzeroberfl\u00e4che\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/\",\"name\":\"VBA-Optionen, die jeder Entwickler kennen muss - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/08e24401d9ee4e21b99e6d6d11b96783\",\"datePublished\":\"2026-10-05T19:28:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/08e24401d9ee4e21b99e6d6d11b96783\",\"contentUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/08e24401d9ee4e21b99e6d6d11b96783\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/VBAOptionen_die_jeder_Entwickler_kennen_muss\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VBA-Optionen, die jeder Entwickler kennen muss\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"VBA-Optionen, die jeder Entwickler kennen muss - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/","og_locale":"de_DE","og_type":"article","og_title":"VBA-Optionen, die jeder Entwickler kennen muss","og_description":"Nicht nur Access, sondern auch der VBA-Editor bietet eine Reihe von Optionen an. Diese erlauben, das Aussehen und die Funktionalit&auml;t des VBA-Editors anzupassen. Es gibt zwar nicht die F&uuml;lle von Optionen, die Sie vielleicht von modernen Entwicklungsumgebungen kennen, aber manchmal ist weniger auch mehr. In diesem Beitrag stellen wir die wichtigsten Optionen f&uuml;r den VBA-Editor vor - damit verhindern Sie beispielsweise dauerhaft das Verwenden von nicht deklarierten Variablen, nutzen verschiedene Einstellungen f&uuml;r die Fehlerbehandlung oder deaktivieren nervige Meldungen bei Syntaxfehlern.","og_url":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/","og_site_name":"Access im Unternehmen","article_published_time":"2026-10-05T19:28:31+00:00","og_image":[{"url":"http:\/\/vg01.met.vgwort.de\/na\/08e24401d9ee4e21b99e6d6d11b96783","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"VBA-Optionen, die jeder Entwickler kennen muss","datePublished":"2026-10-05T19:28:31+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/"},"wordCount":1579,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/08e24401d9ee4e21b99e6d6d11b96783","articleSection":["2026","5\/2026","Ergonomie und Benutzeroberfl\u00e4che"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/","url":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/","name":"VBA-Optionen, die jeder Entwickler kennen muss - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/08e24401d9ee4e21b99e6d6d11b96783","datePublished":"2026-10-05T19:28:31+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#primaryimage","url":"http:\/\/vg01.met.vgwort.de\/na\/08e24401d9ee4e21b99e6d6d11b96783","contentUrl":"http:\/\/vg01.met.vgwort.de\/na\/08e24401d9ee4e21b99e6d6d11b96783"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/VBAOptionen_die_jeder_Entwickler_kennen_muss\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"VBA-Optionen, die jeder Entwickler kennen muss"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001621"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001621\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}