質問: replace(.name, "beforevalue", "aftervalue") end with next value end sub 原因は.xvaluesや.nameがリンク数式を評価した後の値を配列で保持しているためだと思います。 そこで.xvaluesや.nameが保持しているデータが入っていたセルのアドレスを探すか、 あるいは.xvaluesが評価している、元のリンク数式を保持しているプロパティ(か何か)を探せば文字列として置換できるのではないかと考えているのですがいかがでしょうか? "元のデータ"を開いた時にもちろんリンク数式が表示されるので、どこかにリンク数式が文字列として保持されているはずだと思うのですが...。 このプロパティについて何かご存知の方、あるいは違う方法をご存知の方いらっしゃいませんでしょうか? もしかしたら全然的外れの事をしているかもしれません。マクロを触り始めて日が浅いもので...。 その辺りの初心者的ミスも含めて間違い等、指摘して頂ける方でも結構です。 動作環境は os:win2000 excel2003 vb6.5 です。 何かお分かりになる方、よろしくお願い致します。
回答: >>どうしても置換したいと言う場合ですが、調べた限りでは、元の情報は持っていないようです。(あるのかも知れませんが) >>これは、a=2の場合、a=1+1で指定したのか、a=4-2で指定したのかわからないようなものです。 >そうなのですか?となると元情報の置換は出来ないということになってしまうのでしょうか......。 と自分で書いておいて、ふと考えて、excelのシート上で変更できるんだから、どっかで情報保存してるはずじゃないかと、もう一度調べてみました。 で、 activechart.seriescollection(n).formula に格納されていました。 http://msdn2.microsoft.com/ja-jp/library/microsoft.office.interop.excel.series.formula(vs.80).aspx 「オブジェクトの数式を、a1 形式で設定します。値の取得および設定が可能です」 とありました。 nは、そのチャートのグラフ数(1からactivechart.seriescollection.count)です。 ここをreplaceしてみてはどうでしょうか?