{"id":55000510,"date":"2026-06-01T00:00:00","date_gmt":"2026-07-28T14:48:28","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=510"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"VBA_Basics_Auflistungen_mit_Dictionarys","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/","title":{"rendered":"VBA Basics: Auflistungen mit Dictionarys"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/4ad745b84495465e8c009c59820bfc61\" width=\"1\" height=\"1\" alt=\"\"><b>Im Artikel &#8220;VBA Basics: Auflistungen mit Collections&#8221; (www.vbentwickler.de\/514) haben wir die <b>Collection<\/b> kennengelernt &#8211; eine einfache, geordnete Liste ohne Verweis. Ihr gr&ouml;sstes Manko: Es gibt keine M&ouml;glichkeit zu pr&uuml;fen, ob ein Schl&uuml;ssel existiert. Genau hier setzt das <b>Dictionary<\/b> aus der <b>Microsoft Scripting Runtime<\/b> an. Es bietet <b>Exists<\/b>, erlaubt das direkte &Auml;ndern von Werten und liefert Schl&uuml;ssel und Werte als Array &#8211; damit ist es die erste Wahl f&uuml;r Duplikatpr&uuml;fungen, H&auml;ufigkeitsz&auml;hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.<\/b><\/p>\n<h2>Das Dictionary einrichten<\/h2>\n<p>Das <b>Dictionary<\/b> steckt in der Bibliothek <b>Microsoft Scripting Runtime<\/b> (<b>scrrun.dll<\/b>). Bevor wir es per Early Binding nutzen k&ouml;nnen, m&uuml;ssen wir im VBA-Editor &uuml;ber <b>Extras|Verweise<\/b> den Eintrag <b>Microsoft Scripting Runtime<\/b> aktivieren (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2026_03\/pic_510_001.png\" alt=\"Verweis auf die Bibliothek Microsoft Scripting Runtime\" width=\"524,6265\" height=\"413,5826\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Verweis auf die Bibliothek Microsoft Scripting Runtime<\/span><\/b><\/p>\n<p>Alternativ funktioniert Late Binding &#8211; dann entf&auml;llt der Verweis, aber auch IntelliSense:<\/p>\n<pre>' Early Binding (mit Verweis)\r\n<span style=\"color:blue;\">Dim <\/span>dic<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> Scripting.Dictionary\r\n' Late Binding (ohne Verweis)\r\n<span style=\"color:blue;\">Dim <\/span>dic<span style=\"color:blue;\"> As Object<\/span>\r\n<span style=\"color:blue;\">Set<\/span> dic = CreateObject(\"Scripting.Dictionary\")<\/pre>\n<p>F&uuml;r die Entwicklung empfehlen wir Early Binding wegen IntelliSense und Kompilierungspr&uuml;fung.<\/p>\n<h2>Die Member des Dictionary<\/h2>\n<p>Das <b>Dictionary<\/b> ist reichhaltiger als die <b>Collection<\/b>. Die wichtigsten Member:<\/p>\n<ul>\n<li><b>Add Key, Item:<\/b> f&uuml;gt ein Schl&uuml;ssel-Wert-Paar hinzu. Beachte: Der Schl&uuml;ssel steht an erster Stelle &#8211; umgekehrt als bei der <b>Collection<\/b>.<\/li>\n<li><b>Item(Key):<\/b> der Zugriff &uuml;ber <b>dic(Key)<\/b> liefert den Wert zum Schl&uuml;ssel. Wird einem nicht vorhandenen Schl&uuml;ssel auf diese Weise ein Wert zugewiesen, wird der Eintrag automatisch angelegt.<\/li>\n<li><b>Exists(Key):<\/b> liefert <b>True<\/b>, wenn der Schl&uuml;ssel vorhanden ist, sonst <b>False<\/b>.<\/li>\n<li><b>Keys:<\/b> liefert ein Array aller Schl&uuml;ssel.<\/li>\n<li><b>Items:<\/b> liefert ein Array aller Werte.<\/li>\n<li><b>Count:<\/b> liefert die Anzahl der Eintr&auml;ge.<\/li>\n<li><b>Remove(Key):<\/b> entfernt einen einzelnen Eintrag.<\/li>\n<li><b>RemoveAll:<\/b> leert das gesamte Dictionary.<\/li>\n<li><b>CompareMode:<\/b> legt fest, ob Schl&uuml;ssel bin&auml;r (<b>vbBinaryCompare<\/b>) oder textuell (<b>vbTextCompare<\/b>) verglichen werden. Muss gesetzt werden, solange das Dictionary leer ist.<\/li>\n<li><b>Key(Key):<\/b> &auml;ndert einen bestehenden Schl&uuml;ssel, ohne den Wert zu ber&uuml;hren.<\/li>\n<\/ul>\n<h2>Das Dictionary in Aktion<\/h2>\n<p>Ein erstes Beispiel &#8211; wir speichern Bundesl&auml;nder-K&uuml;rzel und greifen gezielt darauf zu.<\/p>\n<p>In Listing 1 sehen wir gleich drei Vorteile gegen&uuml;ber der <b>Collection<\/b>: <b>Exists<\/b> statt Fehler-Workaround, direktes &Auml;ndern eines Werts per Zuweisung und <b>dic.Keys<\/b> als Array f&uuml;r die Schleife.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>DictionaryDemo()\r\n    <span style=\"color:blue;\">Dim <\/span>dic<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> Scripting.Dictionary\r\n    <span style=\"color:blue;\">Dim <\/span>varKey<span style=\"color:blue;\"> As Variant<\/span>\r\n    dic.CompareMode = vbTextCompare\r\n    dic.Add \"BE\", \"Berlin\"\r\n    dic.Add \"HH\", \"Hamburg\"\r\n    dic.Add \"BY\", \"M&uuml;nchen\"\r\n    ' Existenz pruefen\r\n    <span style=\"color:blue;\">If <\/span>dic.Exists(\"HH\")<span style=\"color:blue;\"> Then<\/span>\r\n        <span style=\"color:blue;\">Debug.Print<\/span> dic(\"HH\")   ' -&gt; Hamburg\r\n    <span style=\"color:blue;\">End If<\/span>\r\n    ' Wert direkt aendern\r\n    dic(\"BY\") = \"Bayern (M&uuml;nchen)\"\r\n    ' Alle Eintraege ausgeben\r\n    For Each varKey In dic.Keys\r\n        <span style=\"color:blue;\">Debug.Print<\/span> varKey & \": \" & dic(varKey)\r\n    <span style=\"color:blue;\">Next<\/span> varKey\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Dictionary mit Exists, Wert&auml;nderung und Keys<\/span><\/b><\/p>\n<h2>CompareMode: Gross- und Kleinschreibung<\/h2>\n<p>Standardm&auml;ssig vergleicht das <b>Dictionary<\/b> Schl&uuml;ssel bin&auml;r &#8211; <b>&#8220;hh&#8221;<\/b> und <b>&#8220;HH&#8221;<\/b> w&auml;ren also zwei verschiedene Eintr&auml;ge. In den meisten Access-Szenarien wollen wir das nicht.<\/p>\n<p>Deshalb setzen wir <b>CompareMode<\/b> auf <b>vbTextCompare<\/b>, damit Schl&uuml;ssel ohne Ber&uuml;cksichtigung der Gross-\/Kleinschreibung verglichen werden.<\/p>\n<p>Wichtig: <b>CompareMode<\/b> l&auml;sst sich nur setzen, solange das Dictionary leer ist. Enth&auml;lt es bereits Eintr&auml;ge, gibt es Laufzeitfehler <b>5<\/b>. Also immer direkt nach dem Erzeugen setzen.<\/p>\n<h2>Vorsicht: stille Anlage bei Item-Zugriff<\/h2>\n<p>Das <b>Dictionary<\/b> hat ein Verhalten, das regelm&auml;ssig f&uuml;r &Uuml;berraschungen sorgt: Greift man per <b>dic(&#8220;XY&#8221;)<\/b> auf einen Schl&uuml;ssel zu, der nicht existiert, gibt es keinen Fehler.<\/p>\n<p>Stattdessen legt das <b>Dictionary<\/b> den Schl&uuml;ssel stillschweigend an &#8211; mit dem Wert <b>Empty<\/b>. Das ist beim Z&auml;hlen n&uuml;tzlich (dazu gleich mehr), kann aber auch Geistereintr&auml;ge erzeugen, wenn wir unvorsichtig sind.<\/p>\n<p>Faustregel: Vor dem lesenden Zugriff immer <b>Exists<\/b> pr&uuml;fen &#8211; oder die stille Anlage bewusst nutzen.<\/p>\n<h2>Praxis: Duplikate filtern<\/h2>\n<p>Aus einer Tabelle mit Kundendaten wollen wir eine Liste aller eindeutigen Orte gewinnen. <b>Exists<\/b> macht die Duplikatpr&uuml;fung trivial:<\/p>\n<p>Die Funktion aus Listing 2 liefert ein Array aller eindeutigen Orte.<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>EindeutigeOrte()<span style=\"color:blue;\"> As Variant<\/span>\r\n    <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n    <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n    <span style=\"color:blue;\">Dim <\/span>dic<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> Scripting.Dictionary\r\n    <span style=\"color:blue;\">Dim <\/span>strOrt<span style=\"color:blue;\"> As String<\/span>\r\n    dic.CompareMode = vbTextCompare\r\n    <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n    <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT Ort FROM tblKunden\", dbOpenSnapshot)\r\n    Do Until rst.EOF\r\n        strOrt = Nz(rst!Ort, vbNullString)\r\n        <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Len<\/span>(strOrt) &gt; 0<span style=\"color:blue;\"> Then<\/span>\r\n            <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> dic.Exists(strOrt)<span style=\"color:blue;\"> Then<\/span>\r\n                dic.Add strOrt, <span style=\"color:blue;\">True<\/span>\r\n            <span style=\"color:blue;\">End If<\/span>\r\n        <span style=\"color:blue;\">End If<\/span>\r\n        rst.Move<span style=\"color:blue;\">Next<\/span>\r\n    <span style=\"color:blue;\">Loop<\/span>\r\n    rst.Close\r\n    <span style=\"color:blue;\">Set<\/span> rst = Nothing\r\n    <span style=\"color:blue;\">Set<\/span> db = Nothing\r\n    EindeutigeOrte = dic.Keys\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Eindeutige Orte aus einer Tabelle sammeln<\/span><\/b><\/p>\n<p>Der Wert im Dictionary ist <b>True<\/b> &#8211; er interessiert uns nicht, wir nutzen das Dictionary hier nur als Schl&uuml;sselspeicher.<\/p>\n<p>Das Array aus <b>dic.Keys<\/b> k&ouml;nnen wir anschliessend in ein Listenfeld &uuml;bergeben oder mit <b>Join<\/b> zu einer Zeichenkette zusammenf&uuml;gen &#8211; zum Beispiel im Direktbereich:<\/p>\n<pre> Join(EindeutigeOrte, \";\")<\/pre>\n<h2>Praxis: Z&auml;hlen nach Kategorie<\/h2>\n<p>Wir wollen z&auml;hlen, wie oft jeder Wert in einer Spalte vorkommt &#8211; eine H&auml;ufigkeitstabelle im Speicher. Hier nutzen wir bewusst die stille Anlage:<\/p>\n<p>Die Schl&uuml;sselzeile in Listing 3 ist <b>dic(strKat) = Nz(dic(strKat), 0) + 1<\/b>. Beim ersten Zugriff auf einen unbekannten Schl&uuml;ssel legt das Dictionary ihn mit <b>Empty<\/b> an.#<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>KategorienZaehlen()\r\n    <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n    <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n    <span style=\"color:blue;\">Dim <\/span>dic<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> Scripting.Dictionary\r\n    <span style=\"color:blue;\">Dim <\/span>strKat<span style=\"color:blue;\"> As String<\/span>\r\n    <span style=\"color:blue;\">Dim <\/span>varKey<span style=\"color:blue;\"> As Variant<\/span>\r\n    dic.CompareMode = vbTextCompare\r\n    <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n    <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT Kategorie FROM tblProdukte\", dbOpenSnapshot)\r\n    Do Until rst.EOF\r\n        strKat = Nz(rst!Kategorie, \"(leer)\")\r\n        dic(strKat) = Nz(dic(strKat), 0) + 1\r\n        rst.Move<span style=\"color:blue;\">Next<\/span>\r\n    <span style=\"color:blue;\">Loop<\/span>\r\n    rst.Close\r\n    <span style=\"color:blue;\">Set<\/span> rst = Nothing\r\n    <span style=\"color:blue;\">Set<\/span> db = Nothing\r\n    For Each varKey In dic.Keys\r\n        <span style=\"color:blue;\">Debug.Print<\/span> varKey & \": \" & dic(varKey)\r\n    <span style=\"color:blue;\">Next<\/span> varKey\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: H&auml;ufigkeitstabelle mit dem Dictionary<\/span><\/b><\/p>\n<p><b>Nz<\/b> wandelt <b>Empty<\/b> in <b>0<\/b> um, wir addieren <b>1<\/b> und schreiben das Ergebnis zur&uuml;ck. Somit ist weder eine <b>Exists<\/b>-Pr&uuml;fung n&ouml;tig noch eine <b>If<\/b>-Verzweigung &#8211; kompakter geht es nicht.<\/p>\n<h2>Praxis: Lookup-Tabelle im Speicher<\/h2>\n<p>Wenn wir in einer Schleife wiederholt Nachschlagewerte brauchen &#8211; etwa den Kategorienamen zu einer <b>KategorieID<\/b> -, ist ein Datenbankzugriff pro Durchlauf viel zu langsam. Die L&ouml;sung: Wir laden die Nachschlagetabelle einmal in ein <b>Dictionary<\/b> und greifen danach nur noch auf den Speicher zu.<\/p>\n<p>Die Funktion aus Listing 4 ist universell einsetzbar. Da <b>Dictionary<\/b>-Schl&uuml;ssel unterschiedliche Datentypen besitzen k&ouml;nnen, wandeln wir sie mit <b>CStr<\/b> bewusst in Strings um &#8211; so vermeiden wir Typkonflikte beim sp&auml;teren Zugriff. Ein Aufruf wie <b>Set dicKat = LookupLaden(&#8220;tblKategorien&#8221;, &#8220;KategorieID&#8221;, &#8220;Kategoriename&#8221;)<\/b> l&auml;dt die gesamte Kategorientabelle. Danach liefert <b>dicKat(&#8220;5&#8221;)<\/b> sofort den Kategorienamen &#8211; ohne Datenbankzugriff. Wichtig: Der Schl&uuml;ssel muss hier als String &uuml;bergeben werden, also in Anf&uuml;hrungszeichen.<\/p>\n<pre><span style=\"color:blue;\">Public Function <\/span>LookupLaden(ByVal strTabelle<span style=\"color:blue;\"> As String<\/span>, ByVal strKeyFeld<span style=\"color:blue;\"> As String<\/span>, ByVal strWertFeld<span style=\"color:blue;\"> As String<\/span> _\r\n        )<span style=\"color:blue;\"> As <\/span>Scripting.Dictionary\r\n    <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n    <span style=\"color:blue;\">Dim <\/span>rst<span style=\"color:blue;\"> As <\/span>DAO.Recordset\r\n    <span style=\"color:blue;\">Dim <\/span>dic<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> Scripting.Dictionary\r\n    dic.CompareMode = vbTextCompare\r\n    <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n    <span style=\"color:blue;\">Set<\/span> rst = db.OpenRecordset(\"SELECT \" & strKeyFeld & \", \" & strWertFeld & \" FROM \" & strTabelle, dbOpenSnapshot)\r\n    Do Until rst.EOF\r\n        dic(CStr(Nz(rst.Fields(strKeyFeld), \"\"))) = Nz(rst.Fields(strWertFeld), vbNullString)\r\n        rst.Move<span style=\"color:blue;\">Next<\/span>\r\n    <span style=\"color:blue;\">Loop<\/span>\r\n    rst.Close\r\n    <span style=\"color:blue;\">Set<\/span> rst = Nothing\r\n    <span style=\"color:blue;\">Set<\/span> db = Nothing\r\n    <span style=\"color:blue;\">Set<\/span> LookupLaden = dic\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 4: Beliebige Nachschlagetabelle ins Dictionary laden<\/span><\/b><\/p>\n<h2>Dictionary vs. Collection: Wann was?<\/h2>\n<p>Zum Abschluss eine kompakte Gegen&uuml;berstellung:<\/p>\n<ul>\n<li><b>Verweis:<\/b> Collection keiner n&ouml;tig, Dictionary braucht Microsoft Scripting Runtime (oder Late Binding).<\/li>\n<li><b>Schl&uuml;ssel:<\/b> Collection optional, Dictionary verpflichtend.<\/li>\n<li><b>Exists:<\/b> Collection nein (Workaround &uuml;ber Fehler), Dictionary ja.<\/li>\n<li><b>Wert &auml;ndern:<\/b> Collection nur &uuml;ber <b>Remove<\/b> und erneutes <b>Add<\/b>, Dictionary direkt per Zuweisung.<\/li>\n<li><b>Keys\/Items als Array:<\/b> Collection nein, Dictionary ja.<\/li>\n<li><b>Position steuern:<\/b> Collection ja (<b>Before<\/b>\/<b>After<\/b>), Dictionary nein.<\/li>\n<li><b>Performance:<\/b> Bei wenigen Elementen gleichwertig. Bei grossen Datenmengen ist das Dictionary beim Schl&uuml;sselzugriff in der Regel deutlich schneller (Hash-Tabelle).<\/li>\n<\/ul>\n<p>Die Faustregel: Brauchen wir nur eine geordnete Liste oder eine Objektsammlung, reicht die <b>Collection<\/b>. Sobald wir <b>Exists<\/b> brauchen, Werte &auml;ndern oder Schl&uuml;ssel als Array abfragen wollen, nehmen wir das <b>Dictionary<\/b>.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Das <b>Dictionary<\/b> ist das vielseitigste Werkzeug in VBA, wenn es um Schl&uuml;ssel-Wert-Zuordnungen geht. <b>Exists<\/b> macht Duplikatpr&uuml;fungen trivial, die automatische Anlage bei <b>Item<\/b>-Zugriffen erm&ouml;glicht elegante Z&auml;hlmuster, und <b>Keys<\/b>\/<b>Items<\/b> liefern die Daten als Array f&uuml;r die Weiterverarbeitung. Mit <b>CompareMode = vbTextCompare<\/b> vermeiden wir Probleme mit Gross-\/Kleinschreibung.<\/p>\n<p>Wer Arrays als dritte Alternative kennenlernen m&ouml;chte, findet die Grundlagen im Beitrag <b>VBA Basics: Mit Arrays programmieren<\/b> (<b>www.vbentwickler.de\/439<\/b>).<\/p>\n<p>F&uuml;r das Zusammenspiel von <b>Dictionary<\/b> und Stringfunktionen &#8211; etwa beim Parsen von CSV-Daten in eine Lookup-Tabelle &#8211; sei auf den Beitrag <b>VBA Basics: Strings und Stringfunktionen <\/b>(<b>www.vbentwickler.de\/511<\/b>). verwiesen.<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>VBABasics_Dictionaries.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/8C7C137F-8E3A-4F1D-B974-7814A8A10D33\/vbe_510.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Artikel &#8220;VBA Basics: Auflistungen mit Collections&#8221; (www.vbentwickler.de\/514) haben wir die Collection kennengelernt &#8211; eine einfache, geordnete Liste ohne Verweis. Ihr gr&ouml;sstes Manko: Es gibt keine M&ouml;glichkeit zu pr&uuml;fen, ob ein Schl&uuml;ssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte &Auml;ndern von Werten und liefert Schl&uuml;ssel und Werte als Array &#8211; damit ist es die erste Wahl f&uuml;r Duplikatpr&uuml;fungen, H&auml;ufigkeitsz&auml;hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.<\/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":[662026,66032026,44000027,44000026,44000030,44000025,44000033],"tags":[],"yst_prominent_words":[],"class_list":["post-55000510","post","type-post","status-publish","format-standard","hentry","category-662026","category-66032026","category-Excel_programmieren","category-Outlook_programmieren","category-PowerPoint_programmieren","category-VBAProgrammierung","category-Visual_Basic_Programmierung"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Im Artikel &quot;VBA Basics: Auflistungen mit Collections&quot; (www.vbentwickler.de\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\u00f6sstes Manko: Es gibt keine M\u00f6glichkeit zu pr\u00fcfen, ob ein Schl\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \u00c4ndern von Werten und liefert Schl\u00fcssel und Werte als Array - damit ist es die erste Wahl f\u00fcr Duplikatpr\u00fcfungen, H\u00e4ufigkeitsz\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.\" \/>\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\/VBA_Basics_Auflistungen_mit_Dictionarys\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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=\"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Im Artikel &quot;VBA Basics: Auflistungen mit Collections&quot; (www.vbentwickler.de\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\u00f6sstes Manko: Es gibt keine M\u00f6glichkeit zu pr\u00fcfen, ob ein Schl\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \u00c4ndern von Werten und liefert Schl\u00fcssel und Werte als Array - damit ist es die erste Wahl f\u00fcr Duplikatpr\u00fcfungen, H\u00e4ufigkeitsz\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/\" \/>\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-07-28T14:48:28+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=\"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Im Artikel &quot;VBA Basics: Auflistungen mit Collections&quot; (www.vbentwickler.de\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\u00f6sstes Manko: Es gibt keine M\u00f6glichkeit zu pr\u00fcfen, ob ein Schl\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \u00c4ndern von Werten und liefert Schl\u00fcssel und Werte als Array - damit ist es die erste Wahl f\u00fcr Duplikatpr\u00fcfungen, H\u00e4ufigkeitsz\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.\" \/>\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\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#blogposting\",\"name\":\"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler\",\"headline\":\"VBA Basics: Auflistungen mit Dictionarys\",\"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\\\/4ad745b84495465e8c009c59820bfc61\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#articleImage\"},\"datePublished\":\"2026-06-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#webpage\"},\"articleSection\":\"2026, 3\\\/2026, Excel programmieren, Outlook programmieren, PowerPoint programmieren, VBA-Programmierung, Visual Basic Programmierung\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#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\\\/3\\\/2026\\\/#listItem\",\"name\":\"3\\\/2026\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/3\\\/2026\\\/#listItem\",\"position\":3,\"name\":\"3\\\/2026\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/3\\\/2026\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#listItem\",\"name\":\"VBA Basics: Auflistungen mit Dictionarys\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/#listItem\",\"name\":\"2026\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#listItem\",\"position\":4,\"name\":\"VBA Basics: Auflistungen mit Dictionarys\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2026\\\/3\\\/2026\\\/#listItem\",\"name\":\"3\\\/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\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#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\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#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\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/\",\"name\":\"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler\",\"description\":\"Im Artikel \\\"VBA Basics: Auflistungen mit Collections\\\" (www.vbentwickler.de\\\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\\u00f6sstes Manko: Es gibt keine M\\u00f6glichkeit zu pr\\u00fcfen, ob ein Schl\\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \\u00c4ndern von Werten und liefert Schl\\u00fcssel und Werte als Array - damit ist es die erste Wahl f\\u00fcr Duplikatpr\\u00fcfungen, H\\u00e4ufigkeitsz\\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/VBA_Basics_Auflistungen_mit_Dictionarys\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"datePublished\":\"2026-06-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":"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler","description":"Im Artikel \"VBA Basics: Auflistungen mit Collections\" (www.vbentwickler.de\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\u00f6sstes Manko: Es gibt keine M\u00f6glichkeit zu pr\u00fcfen, ob ein Schl\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \u00c4ndern von Werten und liefert Schl\u00fcssel und Werte als Array - damit ist es die erste Wahl f\u00fcr Duplikatpr\u00fcfungen, H\u00e4ufigkeitsz\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.","canonical_url":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#blogposting","name":"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler","headline":"VBA Basics: Auflistungen mit Dictionarys","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\/4ad745b84495465e8c009c59820bfc61","@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#articleImage"},"datePublished":"2026-06-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#webpage"},"articleSection":"2026, 3\/2026, Excel programmieren, Outlook programmieren, PowerPoint programmieren, VBA-Programmierung, Visual Basic Programmierung"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#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\/3\/2026\/#listItem","name":"3\/2026"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/3\/2026\/#listItem","position":3,"name":"3\/2026","item":"https:\/\/vbentwickler.de\/category\/2026\/3\/2026\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#listItem","name":"VBA Basics: Auflistungen mit Dictionarys"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/#listItem","name":"2026"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#listItem","position":4,"name":"VBA Basics: Auflistungen mit Dictionarys","previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2026\/3\/2026\/#listItem","name":"3\/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\/VBA_Basics_Auflistungen_mit_Dictionarys\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#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\/VBA_Basics_Auflistungen_mit_Dictionarys\/#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\/VBA_Basics_Auflistungen_mit_Dictionarys\/#webpage","url":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/","name":"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler","description":"Im Artikel \"VBA Basics: Auflistungen mit Collections\" (www.vbentwickler.de\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\u00f6sstes Manko: Es gibt keine M\u00f6glichkeit zu pr\u00fcfen, ob ein Schl\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \u00c4ndern von Werten und liefert Schl\u00fcssel und Werte als Array - damit ist es die erste Wahl f\u00fcr Duplikatpr\u00fcfungen, H\u00e4ufigkeitsz\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/#breadcrumblist"},"author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"creator":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"datePublished":"2026-06-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":"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler","og:description":"Im Artikel &quot;VBA Basics: Auflistungen mit Collections&quot; (www.vbentwickler.de\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\u00f6sstes Manko: Es gibt keine M\u00f6glichkeit zu pr\u00fcfen, ob ein Schl\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \u00c4ndern von Werten und liefert Schl\u00fcssel und Werte als Array - damit ist es die erste Wahl f\u00fcr Duplikatpr\u00fcfungen, H\u00e4ufigkeitsz\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.","og:url":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/","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-07-28T14:48:28+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"VBA Basics: Auflistungen mit Dictionarys - Visual Basic Entwickler","twitter:description":"Im Artikel &quot;VBA Basics: Auflistungen mit Collections&quot; (www.vbentwickler.de\/514) haben wir die Collection kennengelernt - eine einfache, geordnete Liste ohne Verweis. Ihr gr\u00f6sstes Manko: Es gibt keine M\u00f6glichkeit zu pr\u00fcfen, ob ein Schl\u00fcssel existiert. Genau hier setzt das Dictionary aus der Microsoft Scripting Runtime an. Es bietet Exists, erlaubt das direkte \u00c4ndern von Werten und liefert Schl\u00fcssel und Werte als Array - damit ist es die erste Wahl f\u00fcr Duplikatpr\u00fcfungen, H\u00e4ufigkeitsz\u00e4hlungen und Lookup-Tabellen im Speicher. Wie wir es einrichten, was es kann und wo Stolpersteine lauern, zeigt dieser Beitrag.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000510","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-07-28 12:58:34","updated":"2026-07-28 12:58:34","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":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\">&raquo;<\/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\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2026\/3\/2026\/\" title=\"3\/2026\">3\/2026<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tVBA Basics: Auflistungen mit Dictionarys\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/vbentwickler.de"},{"label":"2026","link":"https:\/\/vbentwickler.de\/category\/2026\/"},{"label":"3\/2026","link":"https:\/\/vbentwickler.de\/category\/2026\/3\/2026\/"},{"label":"VBA Basics: Auflistungen mit Dictionarys","link":"https:\/\/vbentwickler.de\/VBA_Basics_Auflistungen_mit_Dictionarys\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000510","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=55000510"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000510\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000510"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}