{"id":55000515,"date":"2026-08-01T00:00:00","date_gmt":"2026-11-12T13:05:33","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=515"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Select_Case_in_der_Praxis","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/","title":{"rendered":"Select Case in der Praxis"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/3dfd7745bf6e4595b4c909ba42af1a43\" width=\"1\" height=\"1\" alt=\"\"><b>Wer VBA-Bedingungen schreibt, greift fast automatisch zu <b>If&#8230;Then&#8230;ElseIf<\/b>. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un&uuml;bersichtlich &#8211; und fehleranf&auml;llig, weil jede Zeile den Pr&uuml;fausdruck wiederholt. <b>Select Case<\/b> ist die Alternative: kompakter, lesbarer und in vielen F&auml;llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der <b>Case<\/b>-Klausel und drei Praxismuster, die &uuml;ber das hinausgehen, was die meisten VBA-Entwickler kennen.<\/b><\/p>\n<h2>Die Grundform<\/h2>\n<p><b>Select Case<\/b> pr&uuml;ft einen Ausdruck gegen eine Reihe von Werten. Trifft ein <b>Case<\/b>-Zweig zu, f&uuml;hrt VBA die darin enthaltenen Anweisungen aus und springt danach direkt zu <b>End Select<\/b> &#8211; es gibt kein Durchfallen wie in manchen anderen Sprachen:<\/p>\n<pre>Select Case intWochentag\r\n    <span style=\"color:blue;\">Case <\/span>1\r\n        strName = \"Montag\"\r\n    <span style=\"color:blue;\">Case <\/span>2\r\n        strName = \"Dienstag\"\r\n    <span style=\"color:blue;\">Case <\/span>3\r\n        strName = \"Mittwoch\"\r\n    <span style=\"color:blue;\">Case Else<\/span>\r\n        strName = \"(anderer Tag)\"\r\n<span style=\"color:blue;\">End Select<\/span><\/pre>\n<p>Der Ausdruck hinter <b>Select Case<\/b> wird genau einmal ausgewertet. Das ist ein Vorteil gegen&uuml;ber einer <b>If&#8230;ElseIf<\/b>-Kette, in der wir denselben Ausdruck in jeder Zeile wiederholen m&uuml;ssten.<\/p>\n<p>Bei aufwendigen Funktionsaufrufen spart das nicht nur Tipparbeit, sondern auch Rechenzeit.<\/p>\n<h2>Case Else als Sicherheitsnetz<\/h2>\n<p>Der <b>Case Else<\/b>-Zweig f&auml;ngt alles auf, was keiner der vorangehenden <b>Case<\/b>-Klauseln entspricht. Er ist optional, aber in der Praxis fast immer empfehlenswert &#8211; er macht explizit, was passiert, wenn ein unerwarteter Wert auftaucht. Das gilt besonders f&uuml;r Eingaben von Benutzern oder Werte aus Datenbanken, die sich jederzeit &auml;ndern k&ouml;nnen.<\/p>\n<p>Wer sicher ist, dass alle m&ouml;glichen Werte abgedeckt sind, kann <b>Case Else<\/b> als Wachposten nutzen &#8211; mit einer Fehlermeldung, die auf den Programmierfehler hinweist:<\/p>\n<pre><span style=\"color:blue;\">Case Else<\/span>\r\n    Err.Raise vbObjectError + 1001, _\r\n        \"StatusText\", \"Unbekannter Status: \" & intStatus<\/pre>\n<h2>Mehrere Werte in einer Case-Klausel<\/h2>\n<p>Eine <b>Case<\/b>-Klausel kann mehrere Werte aufnehmen, durch Komma getrennt. Das spart Zweige, wenn dieselbe Aktion f&uuml;r verschiedene Werte gelten soll:<\/p>\n<pre>Select Case intWochentag\r\n    <span style=\"color:blue;\">Case <\/span>1, 2, 3, 4, 5\r\n        strTyp = \"Werktag\"\r\n    <span style=\"color:blue;\">Case <\/span>6, 7\r\n        strTyp = \"Wochenende\"\r\n<span style=\"color:blue;\">End Select<\/span><\/pre>\n<p>Die Werte m&uuml;ssen nicht aufeinanderfolgend sein. <b>Case 1, 3, 5, 7<\/b> ist genauso g&uuml;ltig. Bei aufeinanderfolgenden Werten gibt es allerdings eine elegantere L&ouml;sung &#8211; den <b>To<\/b>-Bereich.<\/p>\n<h2>Bereiche mit To<\/h2>\n<p>Mit <b>Case 1 To 5<\/b> pr&uuml;fen wir, ob der Wert zwischen <b>1<\/b> und <b>5<\/b> liegt &#8211; beide Grenzen eingeschlossen. Das funktioniert auch mit Strings und Datumsangaben. Das Wochentagbeispiel von eben wird damit noch kompakter:<\/p>\n<pre>Select Case intWochentag\r\n    <span style=\"color:blue;\">Case <\/span>1 To 5\r\n        strTyp = \"Werktag\"\r\n    <span style=\"color:blue;\">Case <\/span>6 To 7\r\n        strTyp = \"Wochenende\"\r\n<span style=\"color:blue;\">End Select<\/span><\/pre>\n<p>Bereiche, Einzelwerte und <b>Is<\/b>-Vergleiche lassen sich in derselben <b>Case<\/b>-Klausel mischen. Ein Beispiel: <b>Case 1 To 5, 10, Is > 100<\/b> trifft auf die Werte <b>1<\/b> bis <b>5<\/b>, auf <b>10<\/b> und auf alles &uuml;ber <b>100<\/b> zu.<\/p>\n<h2>Vergleiche mit Is<\/h2>\n<p>Manchmal brauchen wir keine exakten Werte, sondern Schwellenwerte. Daf&uuml;r gibt es das Schl&uuml;sselwort <b>Is<\/b> in Kombination mit einem Vergleichsoperator. Ein typisches Beispiel ist die Bewertung einer Punktzahl:<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>Bewertung(ByVal lngPunkte<span style=\"color:blue;\"> As Long<\/span>)<span style=\"color:blue;\"> As String<\/span>\r\n    Select Case lngPunkte\r\n        <span style=\"color:blue;\">Case <\/span>Is &gt;= 90\r\n            Bewertung = \"sehr gut\"\r\n        <span style=\"color:blue;\">Case <\/span>Is &gt;= 75\r\n            Bewertung = \"gut\"\r\n        <span style=\"color:blue;\">Case <\/span>Is &gt;= 50\r\n            Bewertung = \"befriedigend\"\r\n        <span style=\"color:blue;\">Case <\/span>Is &gt;= 25\r\n            Bewertung = \"ausreichend\"\r\n        <span style=\"color:blue;\">Case Else<\/span>\r\n            Bewertung = \"mangelhaft\"\r\n    <span style=\"color:blue;\">End Select<\/span>\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>Wichtig ist die Reihenfolge: VBA pr&uuml;ft die <b>Case<\/b>-Klauseln von oben nach unten und nimmt den ersten Treffer. Wer <b>Case Is >= 25<\/b> an den Anfang stellt, bekommt f&uuml;r 95 Punkte nur &#8222;ausreichend&#8220;, weil diese Klausel bereits zutrifft. Die Reihenfolge muss also vom engsten zum weitesten Kriterium laufen.<\/p>\n<h2>Select Case mit Strings<\/h2>\n<p><b>Select Case<\/b> funktioniert nicht nur mit Zahlen. Strings werden nach den Regeln verglichen, die <b>Option Compare<\/b> vorgibt &#8211; in Access-Modulen also standardm&auml;ssig ohne Ber&uuml;cksichtigung der Gross-\/Kleinschreibung:<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>DateiTyp( _\r\n        ByVal strErweiterung<span style=\"color:blue;\"> As String<\/span>)<span style=\"color:blue;\"> As String<\/span>\r\n    Select Case LCase$(strErweiterung)\r\n        <span style=\"color:blue;\">Case <\/span>\"accdb\", \"accde\", \"mdb\"\r\n            DateiTyp = \"Access-Datenbank\"\r\n        <span style=\"color:blue;\">Case <\/span>\"xlsx\", \"xlsm\", \"xls\"\r\n            DateiTyp = \"Excel-Arbeitsmappe\"\r\n        <span style=\"color:blue;\">Case <\/span>\"docx\", \"docm\", \"doc\"\r\n            DateiTyp = \"Word-Dokument\"\r\n        <span style=\"color:blue;\">Case <\/span>\"pdf\"\r\n            DateiTyp = \"PDF-Dokument\"\r\n        <span style=\"color:blue;\">Case <\/span>\"csv\", \"txt\"\r\n            DateiTyp = \"Textdatei\"\r\n        <span style=\"color:blue;\">Case Else<\/span>\r\n            DateiTyp = \"Unbekannt\"\r\n    <span style=\"color:blue;\">End Select<\/span>\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>In diesem Listing sichern wir mit <b>LCase$<\/b> ab, dass der Vergleich unabh&auml;ngig von der Schreibweise funktioniert &#8211; auch in Modulen mit <b>Option Compare Binary<\/b>. Mit <b>To<\/b> lassen sich auch String-Bereiche pr&uuml;fen: <b>Case &#8222;A&#8220; To &#8222;M&#8220;<\/b> trifft auf alle Strings zu, die mit einem Buchstaben zwischen A und M beginnen.<\/p>\n<h2>Das Pattern: Select Case True<\/h2>\n<p>Das m&auml;chtigste &#8211; und am wenigsten bekannte &#8211; Muster ist <b>Select Case True<\/b>. Hier pr&uuml;ft VBA nicht einen Wert gegen Konstanten, sondern wertet in jeder <b>Case<\/b>-Klausel einen beliebigen Booleschen Ausdruck aus. Das ist die VBA-Variante eines <b>cond<\/b> oder <b>when<\/b> aus anderen Sprachen:<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>Versandkosten(ByVal dblGewicht<span style=\"color:blue;\"> As Double<\/span>, _\r\n        ByVal strLand<span style=\"color:blue;\"> As String<\/span>)<span style=\"color:blue;\"> As Currency<\/span>\r\n    Select Case <span style=\"color:blue;\">True<\/span>\r\n        <span style=\"color:blue;\">Case <\/span>strLand &lt;&gt; \"DE\"\r\n            Versandkosten = 14.9\r\n        <span style=\"color:blue;\">Case <\/span>dblGewicht &lt;= 1\r\n            Versandkosten = 4.99\r\n        <span style=\"color:blue;\">Case <\/span>dblGewicht &lt;= 5\r\n            Versandkosten = 6.99\r\n        <span style=\"color:blue;\">Case <\/span>dblGewicht &lt;= 20\r\n            Versandkosten = 9.99\r\n        <span style=\"color:blue;\">Case Else<\/span>\r\n            Versandkosten = 14.99\r\n    <span style=\"color:blue;\">End Select<\/span>\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p>Die Funktion aus diesem Listing pr&uuml;ft zuerst das Land, dann das Gewicht &#8211; zwei verschiedene Variablen in derselben Struktur. Mit <b>If&#8230;ElseIf<\/b> w&auml;re das genauso m&ouml;glich, aber weniger &uuml;bersichtlich, weil jede Zeile mit <b>ElseIf<\/b> beginnt und der Blick zwischen Bedingung und Zuweisung hin- und herspringt.<\/p>\n<p>Die Reihenfolge ist auch hier entscheidend: Ein Paket mit 3 kg nach &Ouml;sterreich kostet 14,90 &euro;, weil der Landcheck zuerst greift. W&uuml;rden wir die Gewichtspr&uuml;fung an den Anfang stellen, bek&auml;me dasselbe Paket nur 6,99 &euro; &#8211; der Auslandsaufschlag g&auml;lte nicht.<\/p>\n<h2>Praxis: Statusmaschine f&uuml;r Auftr&auml;ge<\/h2>\n<p>Ein h&auml;ufiges Muster in Gesch&auml;ftsanwendungen: Ein Auftrag durchl&auml;uft mehrere Zust&auml;nde, und je nach aktuellem Status sind nur bestimmte &Uuml;berg&auml;nge erlaubt. <b>Select Case<\/b> bildet das direkt ab.<\/p>\n<p>Listing 2 zeigt verschachtelte <b>Select Case<\/b>-Bl&ouml;cke: Der &auml;ussere Block pr&uuml;ft den aktuellen Status, der innere die gew&uuml;nschte Aktion. Ist die Aktion im jeweiligen Status nicht vorgesehen, bleibt der Status unver&auml;ndert. Das ist lesbarer als eine verschachtelte <b>If&#8230;ElseIf<\/b>-Kette und l&auml;sst sich leicht um neue Status oder Aktionen erweitern.<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>NaechsterStatus(ByVal strAktuell<span style=\"color:blue;\"> As String<\/span>, _\r\n        ByVal strAktion<span style=\"color:blue;\"> As String<\/span>)<span style=\"color:blue;\"> As String<\/span>\r\n    Select Case strAktuell\r\n        <span style=\"color:blue;\">Case <\/span>\"Entwurf\"\r\n            Select Case strAktion\r\n                <span style=\"color:blue;\">Case <\/span>\"Freigeben\"\r\n                    NaechsterStatus = \"Freigegeben\"\r\n                <span style=\"color:blue;\">Case <\/span>\"Verwerfen\"\r\n                    NaechsterStatus = \"Verworfen\"\r\n                <span style=\"color:blue;\">Case Else<\/span>\r\n                    NaechsterStatus = strAktuell\r\n            <span style=\"color:blue;\">End Select<\/span>\r\n        <span style=\"color:blue;\">Case <\/span>\"Freigegeben\"\r\n            Select Case strAktion\r\n                <span style=\"color:blue;\">Case <\/span>\"Versenden\"\r\n                    NaechsterStatus = \"Versendet\"\r\n                <span style=\"color:blue;\">Case <\/span>\"Zurueckziehen\"\r\n                    NaechsterStatus = \"Entwurf\"\r\n                <span style=\"color:blue;\">Case Else<\/span>\r\n                    NaechsterStatus = strAktuell\r\n            <span style=\"color:blue;\">End Select<\/span>\r\n        <span style=\"color:blue;\">Case <\/span>\"Versendet\"\r\n            Select Case strAktion\r\n                <span style=\"color:blue;\">Case <\/span>\"Abschliessen\"\r\n                    NaechsterStatus = \"Abgeschlossen\"\r\n                <span style=\"color:blue;\">Case Else<\/span>\r\n                    NaechsterStatus = strAktuell\r\n            <span style=\"color:blue;\">End Select<\/span>\r\n        <span style=\"color:blue;\">Case Else<\/span>\r\n            ' Endstatus: keine Aenderung moeglich\r\n            NaechsterStatus = strAktuell\r\n    <span style=\"color:blue;\">End Select<\/span>\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Verschachteltes Select Case als Statusmaschine<\/span><\/b><\/p>\n<h2>Praxis: Steuerelemente ein- und ausblenden<\/h2>\n<p>In Access-Formularen steuern wir oft die Sichtbarkeit von Steuerelementen abh&auml;ngig von einem Kategoriefeld. <b>Select Case<\/b> h&auml;lt die Logik kompakt:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cboKategorie_AfterUpdate()\r\n    ' Alle optionalen Felder zunaechst ausblenden\r\n    Me.txtSeriennummer.Visible = <span style=\"color:blue;\">False<\/span>\r\n    Me.txtAblaufdatum.Visible = <span style=\"color:blue;\">False<\/span>\r\n    Me.txtLizenzkey.Visible = <span style=\"color:blue;\">False<\/span>\r\n    Select Case Nz(Me.cboKategorie, \"\")\r\n        <span style=\"color:blue;\">Case <\/span>\"Hardware\"\r\n            Me.txtSeriennummer.Visible = <span style=\"color:blue;\">True<\/span>\r\n        <span style=\"color:blue;\">Case <\/span>\"Software\"\r\n            Me.txtLizenzkey.Visible = <span style=\"color:blue;\">True<\/span>\r\n            Me.txtAblaufdatum.Visible = <span style=\"color:blue;\">True<\/span>\r\n        <span style=\"color:blue;\">Case <\/span>\"Verbrauchsmaterial\"\r\n            ' Keine zusaetzlichen Felder\r\n    <span style=\"color:blue;\">End Select<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das Muster aus diesem Listing beginnt damit, alle optionalen Felder auszublenden. Danach schaltet der passende <b>Case<\/b>-Zweig nur die relevanten Felder wieder ein. So brauchen wir keinen <b>Case Else<\/b>-Zweig, weil der Ausgangszustand bereits stimmt. Das ist robuster als das Gegenteil &#8211; erst alles einblenden und dann gezielt ausblenden -, weil bei einem neuen Kategoriewert nichts versehentlich sichtbar bleibt.<\/p>\n<h2>Wann Select Case, wann If?<\/h2>\n<p>Nicht jede Bedingung eignet sich f&uuml;r <b>Select Case<\/b>. Eine kurze Orientierung:<\/p>\n<ul>\n<li><b>Select Case<\/b>: wenn ein einzelner Ausdruck gegen mehrere Werte, Bereiche oder Schwellen gepr&uuml;ft wird. Je mehr Zweige, desto gr&ouml;sser der Vorteil.<\/li>\n<li><b>Select Case True<\/b>: wenn mehrere verschiedene Ausdruecke gepr&uuml;ft werden sollen und die Reihenfolge die Logik bestimmt.<\/li>\n<li><b>If&#8230;Then<\/b>: wenn nur ein oder zwei Zweige existieren oder wenn die Bedingungen so komplex sind, dass sie in einer <b>Case<\/b>-Klausel unleserlich w&uuml;rden.<\/li>\n<\/ul>\n<p>Eine Faustregel: Ab drei Zweigen, die denselben Ausdruck pr&uuml;fen, lohnt sich <b>Select Case<\/b> fast immer.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p><b>Select Case<\/b> ist mehr als eine Kurzschreibweise f&uuml;r <b>If&#8230;ElseIf<\/b>. Mit <b>To<\/b>-Bereichen, <b>Is<\/b>-Vergleichen und kombinierten Klauseln deckt es die meisten Verzweigungslogiken kompakt und lesbar ab. Das <b>Select Case True<\/b>-Pattern erweitert den Einsatzbereich auf beliebige Bedingungen mit unterschiedlichen Variablen. Und verschachtelt eignet es sich als einfache Statusmaschine, die ohne Tabellen oder Klassen auskommt.<\/p>\n<p>Wer die Grundlagen der VBA-Verzweigungen nachlesen m&ouml;chte, findet sie im Beitrag <b>VBA Basics: Bedingungen<\/b> (<b>www.vbentwickler.de\/336<\/b>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer VBA-Bedingungen schreibt, greift fast automatisch zu If&#8230;Then&#8230;ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un&uuml;bersichtlich &#8211; und fehleranf&auml;llig, weil jede Zeile den Pr&uuml;fausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F&auml;llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die &uuml;ber das hinausgehen, was die meisten VBA-Entwickler kennen.<\/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,"footnotes":""},"categories":[662026,66042026,44000025],"tags":[],"yst_prominent_words":[],"class_list":["post-55000515","post","type-post","status-publish","format-standard","hentry","category-662026","category-66042026","category-VBAProgrammierung"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\u00fcbersichtlich - und fehleranf\u00e4llig, weil jede Zeile den Pr\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andr\u00e9 Minhorst\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Select Case in der Praxis - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\u00fcbersichtlich - und fehleranf\u00e4llig, weil jede Zeile den Pr\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-11-12T13:05:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"-001-11-30T00:00:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Select Case in der Praxis - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\u00fcbersichtlich - und fehleranf\u00e4llig, weil jede Zeile den Pr\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#blogposting\",\"name\":\"Select Case in der Praxis - Visual Basic Entwickler\",\"headline\":\"Select Case in der Praxis\",\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/3dfd7745bf6e4595b4c909ba42af1a43\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#articleImage\"},\"datePublished\":\"2026-08-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#webpage\"},\"articleSection\":\"2026, 4\\\/2026, VBA-Programmierung\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/#listItem\",\"name\":\"2026\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/#listItem\",\"position\":2,\"name\":\"2026\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/4\\\/2026\\\/#listItem\",\"name\":\"4\\\/2026\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/4\\\/2026\\\/#listItem\",\"position\":3,\"name\":\"4\\\/2026\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/4\\\/2026\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#listItem\",\"name\":\"Select Case in der Praxis\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/#listItem\",\"name\":\"2026\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#listItem\",\"position\":4,\"name\":\"Select Case in der Praxis\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/4\\\/2026\\\/#listItem\",\"name\":\"4\\\/2026\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-header_vbe-1.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andr\\u00e9 Minhorst\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/\",\"name\":\"Select Case in der Praxis - Visual Basic Entwickler\",\"description\":\"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\\u00fcbersichtlich - und fehleranf\\u00e4llig, weil jede Zeile den Pr\\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \\u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Select_Case_in_der_Praxis\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"datePublished\":\"2026-08-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Select Case in der Praxis - Visual Basic Entwickler","description":"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\u00fcbersichtlich - und fehleranf\u00e4llig, weil jede Zeile den Pr\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.","canonical_url":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#blogposting","name":"Select Case in der Praxis - Visual Basic Entwickler","headline":"Select Case in der Praxis","author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"},"image":{"@type":"ImageObject","url":"http:\/\/vg08.met.vgwort.de\/na\/3dfd7745bf6e4595b4c909ba42af1a43","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#articleImage"},"datePublished":"2026-08-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#webpage"},"articleSection":"2026, 4\/2026, VBA-Programmierung"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/#listItem","position":1,"name":"Home","item":"https:\/\/vbentwickler.de\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/#listItem","name":"2026"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/#listItem","position":2,"name":"2026","item":"https:\/\/vbentwickler.de\/category\/2026\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/4\/2026\/#listItem","name":"4\/2026"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/4\/2026\/#listItem","position":3,"name":"4\/2026","item":"https:\/\/vbentwickler.de\/category\/2026\/4\/2026\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#listItem","name":"Select Case in der Praxis"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/#listItem","name":"2026"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#listItem","position":4,"name":"Select Case in der Praxis","previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/4\/2026\/#listItem","name":"4\/2026"}}]},{"@type":"Organization","@id":"https:\/\/vbentwickler.de\/#organization","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","url":"https:\/\/vbentwickler.de\/","logo":{"@type":"ImageObject","url":"https:\/\/vbentwickler.de\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author","url":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andr\u00e9 Minhorst"}},{"@type":"WebPage","@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#webpage","url":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/","name":"Select Case in der Praxis - Visual Basic Entwickler","description":"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\u00fcbersichtlich - und fehleranf\u00e4llig, weil jede Zeile den Pr\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/#breadcrumblist"},"author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"creator":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"datePublished":"2026-08-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00"},{"@type":"WebSite","@id":"https:\/\/vbentwickler.de\/#website","url":"https:\/\/vbentwickler.de\/","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","inLanguage":"de-DE","publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","og:type":"article","og:title":"Select Case in der Praxis - Visual Basic Entwickler","og:description":"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\u00fcbersichtlich - und fehleranf\u00e4llig, weil jede Zeile den Pr\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.","og:url":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/","og:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","og:image:secure_url":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","article:published_time":"2026-11-12T13:05:33+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"Select Case in der Praxis - Visual Basic Entwickler","twitter:description":"Wer VBA-Bedingungen schreibt, greift fast automatisch zu If...Then...ElseIf. Das funktioniert, wird aber bei mehr als zwei, drei Zweigen schnell un\u00fcbersichtlich - und fehleranf\u00e4llig, weil jede Zeile den Pr\u00fcfausdruck wiederholt. Select Case ist die Alternative: kompakter, lesbarer und in vielen F\u00e4llen auch schneller. Dieser Beitrag zeigt die Grundform, alle Varianten der Case-Klausel und drei Praxismuster, die \u00fcber das hinausgehen, was die meisten VBA-Entwickler kennen.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000515","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2026-11-12 12:05:40","updated":"2026-11-12 12:05:40","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2026\/\" title=\"2026\">2026<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2026\/4\/2026\/\" title=\"4\/2026\">4\/2026<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSelect Case in der Praxis\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/vbentwickler.de\/"},{"label":"2026","link":"https:\/\/vbentwickler.de\/category\/2026\/"},{"label":"4\/2026","link":"https:\/\/vbentwickler.de\/category\/2026\/4\/2026\/"},{"label":"Select Case in der Praxis","link":"https:\/\/vbentwickler.de\/Select_Case_in_der_Praxis\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000515"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000515\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000515"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}