VBA Dictionary

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Coldfire.

    VBA Dictionary

    Hallöchen.

    Ich hab eine Frage bzgl. des Dictionary. Wenn ich mehr Werte zu einem Item hinzufügen will Bsp.: Apfel, Index 1; Birne, Index 2 und nun will ich noch den Preis dazu tun. Macht ein Dictionary da noch Sinn? Oder sollte ich besser etwas anderes präferieren?

    Edit: Oder wäre mit dem Dictionary nur sowas möglich mit dem Split?
    (Übergabe von Array ins Dictionary).

    Visual Basic-Quellcode

    1. arr = Array("1525041|4.5|0|0", _
    2. "1525042|0.0|1|-12")

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Sam85“ ()

    Sam85 schrieb:

    Macht ein Dictionary da noch Sinn?
    Ein Dictionary hat nur die Elemente Key und Value.
    Da kannst du ggf. als Value eine Excel-Zeilennummer verwenden, dann hast du einen Index auf den Rest.

    Oder arbeite objektorientiert.
    Am besten legst du erst eine Klasse an und instantiierst entsprechende Objekte.
    Die kannst du einer Collection zufügen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @petaod und natürlich auch everyone
    Kannst du ein gutes Buch empfehlen, wo das erstellen von Klassen (bzw. objektorientiertes Arbeiten mit VBA) detailliert beschrieben wird. Hab zwar ein paar Links durchforstet aber wollte mir für zu Hause und unterwegs gerne abseits des PCs ausführlicher belesen.

    Sam85 schrieb:

    Kannst du ein gutes Buch empfehlen, wo das erstellen von Klassen (bzw. objektorientiertes Arbeiten mit VBA) detailliert beschrieben wird.
    Ich kenne kein Buch.
    Und schon gar kein gutes.

    Abgesehen davon kann man nicht programmieren lernen unterwegs mit einem Buch ohne die Entwicklungsumgebung zur Hand zu haben.
    Zumindest gilt das für mich.

    Obwohl man in VBA hervorragend objektorientiert programmieren kann (mit wenigen Einschränkungen wie z.B. Vererbung eigener Klassen), findet man wenig Beispiele und noch weniger Literatur.
    Die meisten VBA-Programmierer nutzen die Sprache einfach prozedural.

    Wenn schon mal in VBA-Tutorials auf Objektorientierung eingegangen wird, sind das Extrakte aus der VB6-Programmierung.
    Das wirklich nützliche bei Excel-VBA ist, dass Excel selbst ein Riesen-Objektmodell mitbringt.
    Man sollte beispielsweise wissen, dass Worksheets Objekte sind, die vom Typ Worksheet geerbt haben, sich aber mit eigenen Properties und Methoden erweitern lassen.
    Diese geile Funktionalität geht in den meisten Tutorials und Büchern vollkommen unter.

    Früher gab's auf MSDN ein hierarchisch aufgebautes Objektmodell, das sehr deutlich die Abhängigkeiten vor Augen führte.
    Ich finde nur noch das alphabetisch gelistete hier.
    Da muss man sich halt durchhangeln ab dem Einstieg Application oder Workbook.

    Ein guter Ansatz:
    Wenn du OOP in VBA nutzen willst, lerne OOP in VB.Net.
    Dafür gibt es mehr brauchbare Literatur.
    Das dann auf VBA und die Office-Objektmodelle anzuwenden ist kein großer Schritt mehr,
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()

    @petaod

    Verstehe dich, so unterwegs theoretisch lernen werde ich auch nicht. Aber markieren was ich testen möchte und mir den Zusammenhang vor Augen halten.

    Also macht es Sinn .NET zu benutzen um sich in Sachen OOP für VBA zu wappnen. Dann hangel ich mich an den Löffelmann.

    Danke für den Hinweis.
    Seltsam. Ich bin offensichtlich anders. Ich finde es immer sinnvoll reine Grundlagenbücher zu lesen. Dass ich da was praktisch ausprobieren muss, finde ich gar nicht wichtig. Quelltexte lese ich oft nur weil es einige Programmierer gibt, die da einen besonders eleganten Stil beherrschen. Und Youtube-Anleitungen hasse ich.