Ich möchte rekursiv in einer Formel eines Bereichsobjekts suchen, bis ich jeden einzelnen Wert finde, aus dem es zusammengesetzt ist. Da ich mir über die grammatikalische Korrektheit des vorherigen Satzes nicht ganz sicher bin (jedenfalls entschuldige ich mich für mein Englisch) werde ich versuchen zu erklären, was ich mit einem Beispiel erreichen möchte (in der Hoffnung, dass dies die einfachste sein könnte) :Werte aus Formel in VBA rekursiv extrahieren
mysheet = "Sheet1"
Sheets(mysheet).Range("A1").Formula = "=+B1"
Sheets(mysheet).Range("B1").Formula = "=+C1-C2"
Sheets(mysheet).Range("C1").Value = "value:val1"
Sheets(mysheet).Range("C2").Formula = "=+D1-D2"
Sheets(mysheet).Range("D1").Value = "value:val2"
Sheets(mysheet).Range("D2").Value = "value:val3"
können Sie mir einen Hinweis (oder besser einen Entwurf von Code) geben an, welche Art von Funktion (? eine rekursive ein, vielleicht) einen String zurückgeben kann (nennen wir es my_formula), so dass der Befehl
MsgBox(my_formula)
kehrt die folgende:
A1 = +value:val1 - value:val2 + value:val3
? Bitte helfen Sie mir
Danke
Update nach weniger als einer Stunde
Hallo an alle und vielen Dank für Ihre Antworten. Ich würde darauf hinweisen, dass die Werte in Zellen effektiv Zeichenfolgen sind + Ich habe nur einfache Operationen (+ und -) + Alle Abhängigkeiten sind im selben Blatt + Ich habe keine Bereiche wie $ X $ 1. Ich kenne jedoch die Methoden/Eigenschaften, die von einigen von Ihnen gepostet wurden (Präzedenzfall, NavigateArrow ...), aber was ich fragte, ist eine Idee, wie man diese Art von Methode/Eigenschaften am besten verwendet, ohne Kopfschmerzen zu bekommen.
Vielen Dank noch einmal
Wenn es keine eingebaute Eigenschaft des Bereichsobjekts gibt, kann ich mir Kopfschmerzen aufgrund von benannten Bereichen, Tabellenreferenzen, Arbeitsbuchverweisen, Verbindungen usw. nur vorstellen. Aber gehen Sie davon aus, dass alle Ihre Zellenwerte nur die sind Form A1 oder $ A $ 1? –
https://msdn.microsoft.com/en-us/library/office/ff197707.aspx vielleicht? –
Husten - meinst du nicht https://msdn.microsoft.com/en-us/library/office/ff196936.aspx –