範囲オブジェクトの数式を再帰的に調べたいと思います。 私は前の文の文法上の正確さについてはあまり確信していません(いずれにしても、私は自分の英語を謝ります)。私は、これがもっとも簡単な例であると思う例を使って、 :VBAの式から値を再帰的に抽出します
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"
あなたは(?多分、再帰1)機能の種類について(コードのドラフトを以上)私にヒントを与えることができた文字列を返すことができ、そのような(のはそれを呼び出すmy_formulaましょう)、そのコマンド
:MsgBox(my_formula)
は以下を返します。
?あなたの答えのためのすべての多くのおかげで
がLESS THAN 1時間後にあなたに
UPDATEありがとう
こんにちは、私を助けてください。私は、セル内の値が効果的に文字列であること+単純な操作(+と - )+すべての依存関係が同じシートにあること+ $ X $ 1などの範囲がないことを指摘します。しかし、私はいくつかの方法(先例、NavigateArrow ...)によって投稿されたメソッド/プロパティを認識していますが、私が尋ねたのは、この種のメソッド/プロパティを頭痛のない最善の方法で使用する方法です。それは現実の生活の中で、より複雑な数式に拡張する方法のためではなく、メーリングリストへ -
は、このコードはあなたの例のために働くだろう再び
これを行う範囲オブジェクトの組み込みプロパティがない限り、名前付き範囲、シート参照、ブック参照、接続などのために頭痛が起きることは想像できます。しかし、すべてのセル値がフォームA1または$ A $ 1? –
https://msdn.microsoft.com/en-us/library/office/ff197707.aspxおそらく? –
咳 - あなたはhttps://msdn.microsoft.com/en-us/library/office/ff196936.aspxを意味しませんか? –