2012-01-01 12 views
0

これはExcelの通常の動作のようには見えません。私はこれが以前に起こるのを見たことがない。私はできる限り最善の方法でそれを試して説明します。呼び出しセル内の式は、値の代わりに呼び出されたセルの式を「見ます」 - なぜですか?

私はSS-AとSS-Bという2つのスプレッドシートを持っています。 SS-AにはワークシートとWSソースがあり、SS-BにはワークシートWS-destがあり、そこではWS-destはWS-sourceの数式を介してデータを取得します。

SS-Bには、別のワークシートWS-finalがあります.WS-finalは、WS-destからのデータを式を使用して再度プルします。なんらかの理由で、WS-finalの数式は、数式の値の代わりにWS-destの数式を「参照」するため、WS-finalの数式の結果は失敗します。

数式はWS-destで機能します。 WS-destのスプレッドシートを見ると、セルに数式が表示されず、数式の結果の値が表示されます。しかし、これらの値を使用しようとすると、WS-finalの式は失敗します。

私はこの結論に至りました:WS-destは数式を使用していませんでした。私はフィールドに値を置いた。 WS決勝はうまくいった。数日前に、WS-destにハンド・ジャムするのではなく、WS-sourceからデータを抽出するために式を使用し始めました。今回の変更に先立ち、WS-finalは正常に機能しました。さらに、テスト目的のために、WS-destのテストフィールドを数式から手作業で詰めた値に置き換えました。これにより、WS-finalの式が再び機能しました。 WS-finalの式をコピーしてWS-destの未使用のセルに配置し、式が動作することを示すセル参照を調整しました。その結果、私は同じ行動を観察した。

マクロ:

Public Function sbTextToColumn(srcRng As Range) As Variant 
    Dim vData As Variant 

    vData = Split(srcTang.Value2, "/") 
    ReDim Preserve vData(0 To Application.Caller.Columns.Count - 1) 
    sbTextToColumn = vData 
End Function 

これは、別のSOメンバーが私を助け関数であり、それは素晴らしい作品!私は個人的にPerlやPHPのような言語で強いLinux/Unixの人です。私はあなたの援助に感謝します。

+0

どのExcel版、マクロを実行していますか?どこにあなたのファイルをネットに投稿できるのですか? – brettdj

+0

Excel 2007.マクロが存在します!残念ながら、私は多くの理由でこのプロジェクトを投稿できませんが、インターネットとは別のネットワーク上にあるため、最も難しいです。マクロのどのような状況がこのような問題を引き起こす可能性がありますか? – Jim

+0

Jim、 'WS-final'のデータで実行されるマクロを実行しますか? – brettdj

答えて

関連する問題