• ベストアンサー

計算式を別のセルで文字列として自動的に表示させたい

計算式を別のセルで文字列として自動的に表示させたいのですが、 例えば、A1セルで =2*3*2 と入力すると自動的に B1セルで 2*3*2 と表示される方法はありますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

普通のエクセル関数では、セルの情報の中の「値」だけを対象にしており、セルの情報として、値とは別の、関数式を捉えることができません。セルの値しか捉えられません。 ーー そこでユーザー関数を定義します。たった1行です。 下記コードを標準モジュールにコピペ。 関数名fmlはなんでも良い。 Function fml(a) fml = a.Formula End Function シートのセルで、どこでも式を出したいセルに =fml(A3)  のように入れます。 B2に=A1*4があるとき、=fml(B2) で=A1*4 と出ます。 アイデアは既回答と同じなのですが。 ーー ユーザー関数について、 上記「標準モジュール」の語など判らなければ、 http://www.excel.studio-kazu.jp/lib/e1iw/e1iw.html などを見てください。

akuviakuvi
質問者

お礼

お礼が遅くなり申し訳ありません。 教えて頂いたユーザー関数に、=を消したかったので#1さんのMIDと、#4さんの補足を応用し、 Function fml(a) fml = Mid(a.Formula, 2, 256) End Function で解決することが出来ました!! ありがとうございました!!

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

補足: (=イコール)の消し方は、 =MID(siki,2,256) または、 =SUBSTITUTE(siki,"=","",1) ということです。

akuviakuvi
質問者

お礼

お礼が遅くなり申し訳ありません。 #2さんのユーザー定義関数と、教えて頂いたMIDの式を応用し解決することが出来ました! ご丁寧にありがとうございました!!

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 こんな方法がありますね。 最初に、マウスをB1に合わせておいて、  挿入→名前→定義で、  仮に、SIKI とでもします。 参照範囲  =GET.CELL(6,!A1)&LEFT(NOW(),0) B1: =SIKI とすれば、A1 の中身が出てきます。  =2*3*2 と出てきます。 相対参照ですから、左隣に対して、数式を出します。 なお、セキュリティによっては、ブックを開けたときに、マクロ関数が含まれているというメッセージが出ることがあります。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

ワークシートのイベント処理に以下を追加。 Private Sub Worksheet_Change(ByVal Target As Range) If (Target.Row = 1) And (Target.Column = 1) Then Worksheets("Sheet1").Range("B1").Value = "'" & Worksheets("Sheet1").Range("A1").Formula End If End Sub 式の「=」が邪魔ならMid$()で2文字目から切り出しましょう。

akuviakuvi
質問者

お礼

基本を#2さんの方法でMidを使い解決することが出来ました! ありがとうございました!

akuviakuvi
質問者

補足

ご回答ありがとうございます。 とりあえず、この方法で希望通り B1 に 2*3*2 と表示することが出来ました! ありがとうございます! 式の「=」を消す方法ですが、Mid$()はどのように使えば良いでしょうか? 補足:先にお伝えすべきでしたが、マクロは最近勉強を始めたばかりです。

関連するQ&A

専門家に質問してみよう