Ich versuche, ein Wörterbuch zu erstellen, in dem die R1C1-Formel der Schlüssel ist und die Zelle das Element ist, aber Probleme beim Umwandeln des Elements haben, wenn es aus dem Wörterbuch abgerufen wird. Bisher habe ich den folgenden Code, um das Wörterbuch zu erstellen scheint ganz gut:Wörterbuch der Zellen
Dim dict As Scripting.Dictionary
Dim c As Range
Set dict = New Scripting.Dictionary
For Each c In ActiveSheet.UsedRange.Cells
If Not dict.Exists(c.FormulaR1C1) Then dict.Item(c.FormulaR1C1) = c
Next c
Das Problem, das ich habe ist, wenn man versucht, die Elemente im Wörterbuch zugreifen zu können, kann ich nicht scheinen, um herauszufinden, wie man Wirf den Gegenstand als Bereich/Zelle. Ich habe versucht, die folgenden aber einen Laufzeitfehler ‚424‘ erhält: Objekt erforderlich
Dim r As Range
Dim k As Variant
For Each k In dict.Keys
Set r = dict.Item(k)
Next k
auch versucht, die Behandlung nur das Einzelteil als Bereich und Dinge .Formula Eigenschaft Aufruf:
Range("A1").value = "'" & dict.Item(k).Formula
Versucht es zu der Einstellung, "Objekt" wie folgt:
Set r = dict.Item(k).Object
Keine von denen funktioniert. Was ist der richtige Weg, ein Wörterbuch zu verwenden, in dem das Objekt ein Objekt und nicht nur eine Zeichenkette ist (oder ist das nicht möglich)?
Danke!
Das ist perfekt! Das 'Set dict.Item (k) = c' hat es geschafft! Warum ist es immer so offensichtlich? Für # 2 verwende ich die 'FormulaR1C1' speziell, um doppelte Einträge für" wie "Formeln zu vermeiden. Für die Analyse, die ich mache, wenn Sie auf B2 von C2 oder F44 von G44 verweisen, sind sie das "selbe". Ich bin nur interessiert, wenn Sie plötzlich auf A6 von C6 statt von B6 verweisen. Wie Sie bereits erwähnt haben, hilft es, Fälle zu erkennen, in denen dem Mix eine andere Formel hinzugefügt wurde. Vielen Dank für die Hilfe! – Agathron