Ich hatte Probleme mit komplizierterem Code und ich verstand Wörterbücher noch nicht vollständig, also baute ich ein wirklich einfaches, einfaches Testblatt, um herauszufinden, wie sie funktionieren. Nur drei Einträge, die "first", "do" und "alpha" lesen, über den Spalten a-c (Ziel war es schließlich sicherzustellen, dass ich verschachtelte Wörterbücher verstanden habe, obwohl diese Frage nicht auf diese Frage eingeht).Warum können Wörterbuchschlüssel nicht zu Zellen gemacht werden?
Der Code war:
Sub testing()
Dim dict As New Scripting.Dictionary
dict.Add Key:=Cells(1, 1), Item:=Cells(1, 2)
MsgBox dict(Cells(1, 1))
End Sub
Dies funktionierte nicht. Aber als ich eine Variable temp = Cells(1, 1)
hinzugefügt und diese anstelle von Cells(1, 1)
verwendet habe, wo immer es auftauchte, funktionierte es.
Warum kann der Schlüssel keine Zelle sein? Kann jemand mir helfen, zu verstehen, was der Unterschied zwischen
dict.Add Key:=Cells(1, 1), Item:=(1, 2)
und
temp = Cells(1, 1)
dict.Add Key:=temp, Item:=(1, 2)
ist? Der Gegenstand kann eine Zelle sein, nur nicht der Schlüssel?
Setzen Sie '.value' am Ende der beiden Zellen (1,1) –
ja, Wörterbuch ist sehr entgegenkommend beim Speichern der Daten. Ohne 'Wert' speichert es das Bereichsobjekt. – cyboashu
Oh! Ich hatte von dieser Funktion noch nichts gehört. Also gibt '.value' eine Zeichenfolge von dem zurück, was in der Sache '' value' 'angehängt ist? –