So rufen Sie den Wert in einem Wörterbuch basiert auf Taste in VBA
Habe ich ein Wörterbuch als solche:
Set Desk = CreateObject("Scripting.Dictionary")
For Index = 1 To NoOfDesks
Desk.Add Cells(15 + Index, 4).Value, Index
Next
Ich bin daran interessiert, den Wert basierend auf dem index. Ich habe versucht, dies zu tun:
MsgBox Desk.Items()(1)
Aber ich bin nicht in der Lage zu erhalten die Wert. Es ist wieder eine ganze Zahl. Es sollte ein string sein. Müssen einige Hinweise auf diese.
Gelesen auf msdn.microsoft.com/en-us/library/x4k5wbx4(v=vs. 84).aspx (Dictionary-Objekt)
Wörterbuch? Dann müssen Sie dies Lesen : Wörterbuch VBA. Wenn Sie noch Fragen haben (was ich bezweifle, nach der Lektüre dieses), dann poste deinen code. Obige Frage ist schon beantwortet in dem link gepostet.
Wörterbuch? Dann müssen Sie dies Lesen : Wörterbuch VBA. Wenn Sie noch Fragen haben (was ich bezweifle, nach der Lektüre dieses), dann poste deinen code. Obige Frage ist schon beantwortet in dem link gepostet.
InformationsquelleAutor lakesh | 2015-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist immer genau das, was Sie gefragt haben:, wenn Sie die zusätzlichen Elemente, die Sie angegeben
Cells(15 + Index, 4)
für eine Schlüssel, undIndex
für eine Element.Index
einInteger
Sie werden immer einInteger
.Wenn möglich, fügen Sie einen Verweis auf
Microsoft Scripting Runtime
statt späte Bindung mitCreateObject
: erhalten Sie IntelliSense, das macht es viel einfacher, mit zu arbeiten eine unbekannte API:Dein code würde wie folgt Aussehen:
Eine Sache zu beachten, ist, dass Wörterbuch-Schlüssel muss eindeutig sein - du bist [un -] Glück nicht auf Duplikate in Spalte 4, sonst wäre es ziemlich offensichtlich, dass Sie invertiert das Wörterbuch, Schlüssel und Wert.
InformationsquelleAutor Mathieu Guindon
versuchen Sie dies:
Cells(15 + Index, 4)
hat alle doppelten Werte. OP will die values, nicht die Tasten.Ich weiß, wenn die Werte werden nicht uniq dann wird die Fehlermeldung erscheinen, aber die Frage war, wie das abrufen des Werts basiert auf einem Schlüssel. Also ich nehme an, dass mein Beispiel zeigen werden, wie die Werte und Schlüssel abgerufen werden können. Thks für downvote
Ich downvoted, da diese Antwort behebt das symptom, nicht die Ursache, und das macht es irreführend und Blätter OP mit code, dass nur scheint zu arbeiten, wie beabsichtigt. Ich werde gerne zurückkehren, meine Stimme, wenn es bearbeitet wird, um besser zu erklären, die Auswirkungen. Prost!
InformationsquelleAutor Vasily Ivoyzha