私はインターネットでvbaブログの1つで見つけた一般的なカスタム関数を使用します。テキストセルを数式(= "A2 + B2"または "= ABS(A2 + B2)"のように読み込み、CONCATENATE関数を使用して作成しました。コードが行く:私のワークブックでCustonの機能は、ブック全体ではなくワークブック全体に適用されます
Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function
を私は正確ないくつかの記述統計を計算データ、の2列(すなわち合計、平均、標準偏差など)を除いて同じコピーである複数のシートを持っている、式がです私のソースシート、コピーされたシートはEval(sourceSheet!A1)のような公式を持ち、A1は上記のような式のテキストを含んでいます。問題は、読み込んだ後にマクロを適用するために、F9をリフレッシュする(時には数回)必要があることです。ワークシートにあるデータを使ってコピーしたワークシートをすべてリフレッシュしています。たとえば、ワークシート3でリフレッシュしたデータの合計が5だった場合、他のすべてのシートで合計が5に変更されます。私は何とか私のコードは、他のすべてのExcel機能のような単一のワークシートではなく、ブック全体に機能を適用させると思います。
だから私は2つの質問がある:
は私のカスタム関数が唯一の私はそれを置くワークシートに適用されますので、コードを変更する方法はありますか?
マウスの左ボタンをクリックするごとにブック全体をリフレッシュするためのマクロコードを投稿できますか?
ではなく、UDFをバギーザッツ事前
いいえ、あなたのコードが変更されていない何も参照してください。ワークブックのすべての数式を再計算するのはF9です。アクティブシートのみを再計算するには、Shift + F9を試してください。だからQ1:いいえ、あなたのコードを変更する必要はありません、それは他のシートに "適用"しません。 Q2:実際には、私たちはStackOverflowで自由なコーディングをしません。私たちは他のプログラマーに問題を助けますが、私たちは自由な仕事をしません。 – vacip