• 締切済み

セル内計算式の計算結果出力方法

Excel勉強中のものです、皆様の知識をお借りしたく。 今回困っているのは以下のものです。 <やりたいこと> A1セル内に、”1+2+3”という計算式が書いてあります。 B1セル内に、A1セル内の計算結果”6”を出力したいと考えています。 <やって失敗したこと> 文字列の合成でいいのかと考え、 =concatenate(”=”、A1) と入力したのですが、”=A1”という文字列ができるだけでした。 この文字列をセルの書式設定で数値にすればいいのかな、と考えたのですができませんでした。 どうか、私の見落としや、やり方などありましたらご指摘していただきたく。 みなさん、宜しくお願いします

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.5

#3さんの方法が適切ですが。 > Range("B1").Formula = "=A1" > になってるはず。 「マクロの記録」で作ったこの行を#1の方法で編集してね、だったんですが。 Range("B1").Formula = "=A1" を Range("B1").Formula = "=" & Range("A1") 結果は Range("B1")の式が[=1+2+3]

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

ダメです。 ご利用のエクセルのバージョンがご質問に書かれてなかったことを発端として,全部に失敗しています。 参照: http://www4.synapse.ne.jp/yone/excel2010/excel2010_name_teigi.html 再掲: >B1セルを選択する(必ず行う) >ご利用のエクセルのバージョンに応じた方法で「名前の定義」を開始する >名前 myFormula >参照範囲 =EVALUATE(A1) >と記入しOKする エクセル2010では「数式タブ」から「名前の定義」を開始し,名前を記入し,参照範囲に回答の通りに記入します 操作は「必ず」B1セルを選択した状態でおこないますが,この操作で作成した名前はB1セルに付けるのでも,もちろんA1セルに付けるのでもありません。 間違った操作をおこなってしまったブックは一回捨てて,全く新しいブックを用意して行って下さい。 回答したとおり「どこでも好きなセル」に1+2+3などを記入し,「その右隣のセル」に=myFormulaと記入して,作成した名前を利用します。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

手順: B1セルを選択する(必ず行う) ご利用のエクセルのバージョンに応じた方法で「名前の定義」を開始する 名前 myFormula 参照範囲 =EVALUATE(A1) と記入しOKする A1セル等に 1+2+3 を記入 その「右隣のセル」(今回はB1セル)に =myFormula と記入する。 勝手に違う事をすると出来ないので、まず回答した通りに手を動かし出来ることを確認してから、さらに実地に利用してください。 #時折寄せられる、「そもそもエクセルはそういう事をする(が出来る)ソフトじゃないのに」な、無茶振りご相談の一種です。

Nestea466
質問者

補足

ご回答ありがとうございます。 早速試してみようと、名前の定義から調べて実施してみました。 (参考リンク) http://kokoro.kir.jp/excel/name.html 初めに、私の使用しているExcelは、2010になります。 検索HPにならって、名前ボックスというところから入力してみました。 ここで、疑問が生じました。 (1)myFormulaという名前はB1に付けるという考えで会っていますか。 (2)=EVALUATE(A1)というのは、”参照範囲”という記載からA1につけるのかな、と考えて入れたのですがあっていますか。 上記(1)(2)のように実施した結果、失敗してしまいました。 <出力結果> B1に”0”が出力されました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

申し訳ありません ×)Range("B1").Fomula = ○)Range("B1").Formula = です。rが足りませんでした。 Range("B1").Formula = "=1+2+3" になって欲しいと考えました。 1)セルA1に値[1+2+3]を入力した状態で「マクロの記録」を開始。 2)セルB1に式[=A1]を入力 3)「マクロの記録」を停止。 4)Alt+F11キー押下でVBEを開く。 で、 Range("B1").Formula = "=A1" になってるはず。

Nestea466
質問者

補足

返信遅れて申し訳ありません。 早速試してみました。 確認の結果、B1には、1+2+3という結果が出力されました。 すみません、私の書き方が悪かったのは承知なのですが、私が本当に欲しかった結果の出力はこれではありません。 ここに、A1に記載した計算式の結果、6が出力されるのが期待っしていたものです。 あの後も色々試してみたのですがやはり、知識がまだまだ足りない為かできませんでした。 難しいですが頑張ってみます。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

VBAになりますが、可能です。 一度、「マクロの記録」でモジュールを作って下さい。 出来上がったら、 Range("B1").fomula="="&range("A1") と入力して実行して下さい。

Nestea466
質問者

補足

早速のご回答ありがとうございます。 早速試してみたのですが、以下のエラーが出てしまいました。 実行時エラー’438’ オブジェクトは、このプロパティまたはメソッドをサポートしていません。 教えていただいたものを見ると、B1に、”= ”と”A1”を合わせたものを出す、というものと見てとれますが、認識あっていますか? わたし、VBAも調べながらやっている身で知識ないのですが、問題内容にも見えるのですが。。 実際に実行したものは、以下のものになります。 ご指摘、宜しくお願いします。 Sub Macro1()   Range("B1").fomula = "=" & Range("A1") End Sub

関連するQ&A

専門家に質問してみよう