Excel に 2 つのセルを作成したい:
最初の式 (fx A1) では、次のような方程式を、2 + 2
2 番目の式 (fx A2) では、解 = 4 をそれぞれ取得します。
どうすればいいですか?
答え1
まず、標準モジュールに次の UDF を入力します。
Public Function eval(strng As String) As Variant
eval = Evaluate(strng)
End Function
次にA2に次のように入力します。
=評価(A1)
ユーザー定義関数 (UDF) はインストールも使用も非常に簡単です。
- ALT-F11でVBEウィンドウが開きます
- ALT-I ALT-Mで新しいモジュールを開く
- 内容を貼り付けてVBEウィンドウを閉じます
ワークブックを保存すると、UDF も一緒に保存されます。2003 以降のバージョンの Excel を使用している場合は、ファイルを .xlsx ではなく .xlsm として保存する必要があります。
UDF を削除するには:
- 上記のようにVBEウィンドウを開きます
- コードを消去する
- VBEウィンドウを閉じる
Excel から UDF を使用するには:
=私の関数(A1)
マクロ全般の詳細については、以下を参照してください。
http://www.mvps.org/dmcritchie/excel/getstarted.htm
そして
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
そして
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
UDFの詳細については
これを機能させるにはマクロを有効にする必要があります!
答え2
ワークシート関数を使用しても、希望どおりの結果を得られない場合があります。ここで回答これは設計によるものです。
これは VBa で実現できます (投稿には VBa を使用するかどうかは記載されていないため、使用しないと思います)。または、could
古い XLM GET.FORMULA() を探しますが、VBa の方が優れています (XLM については何も知りません)。
次のようなことができるかもしれません
=FORMULATEXT(formulaCell)
FORMULATEXT requires the morefunc.xll add-in.
ただし、回避策として、質問の正確な例に基づいて、次の操作を実行できます(機能します)。
=SUM(LEFT(A1,1),RIGHT(A1,1))
これは、数式が N+N (N は 1 桁) の場合にのみ機能しますが、データの行数によっては、ニーズに合う可能性があります。