VBA unterscheidet sich deutlich von Python, daher sollten Sie zumindest die "Microsoft Visual Basic-Hilfe" lesen, die von der Anwendung, die Sie verwenden werden (Excel, Access ), bereitgestellt wird.
Im Allgemeinen gibt es in VBA das Äquivalent zu Python-Modulen; sie heißen "Bibliotheken" und sind nicht so einfach zu erstellen wie Python-Module. Ich erwähne sie, weil Bibliotheken Ihnen übergeordnete Typen zur Verfügung stellen, die Sie verwenden können.
Als Starthilfe gibt es zwei Arten, die ersetzt werden können list
y dict
.
list
VBA hat den Typ Collection
. Es ist standardmäßig verfügbar (es befindet sich in der Bibliothek VBA
). Sie machen also einfach eine
dim alist as New Collection
und von da an können Sie seine Methoden/Eigenschaften verwenden:
.Add(item)
( list.append(item) ),
.Count
( len(list) ),
.Item(i)
( Liste[i] ) und
.Remove(i)
( del list[i] ). Sehr primitiv, aber es ist da.
Sie können auch den VBA-Array-Typ verwenden, der wie Python-Arrays Listen von Elementen des gleichen Typs sind, und im Gegensatz zu Python-Arrays müssen Sie Folgendes tun ReDim
um ihre Größe zu ändern (d. h. Sie können nicht einfach Elemente anfügen und entfernen)
dict
Um ein wörterbuchähnliches Objekt zu haben, sollten Sie die Scripting-Bibliothek zu Ihrem VBA-Projekt¹ hinzufügen. Danach können Sie
Dim adict As New Dictionary
und dann seine Eigenschaften/Methoden verwenden:
.Add(key, item)
( dict[key] = item ),
.Exists(key)
( dict.has_key[key] ),
.Items()
( dict.values() ),
.Keys()
( dict.keys() ),
und andere, die Sie im Objektbrowser² finden.
¹ Öffnen Sie den VBA-Editor (Alt+F11). Gehen Sie zu ToolsReferences und markieren Sie "Microsoft Scripting Runtime" in der Liste.
² Um den Objekt-Browser anzuzeigen, drücken Sie im VBA-Editor F2 (oder ViewObject Browser).
2 Stimmen
Ich bin nur neugierig... warum versuchen Sie, VBA zu lernen?
2 Stimmen
Eine gute Frage, und wenn es ihm so geht wie mir, ist er im Büro ein Tausendsassa und muss irgendeinen Excel-Mist automatisieren.
0 Stimmen
Es gibt viele Gründe, warum jemand eine neue Programmiersprache lernen möchte. Viele von ihnen haben sehr unterschiedliche Fähigkeiten und funktionieren auf verschiedenen Plattformen, so dass es sinnvoll ist, mehr als eine Sprache zu beherrschen.