つい集めてしまうものはなんですか?

Excel勉強中のものです、皆様の知識をお借りしたく。

今回困っているのは以下のものです。
<やりたいこと>
A1セル内に、”1+2+3”という計算式が書いてあります。
B1セル内に、A1セル内の計算結果”6”を出力したいと考えています。

<やって失敗したこと>
文字列の合成でいいのかと考え、
=concatenate(”=”、A1)
と入力したのですが、”=A1”という文字列ができるだけでした。
この文字列をセルの書式設定で数値にすればいいのかな、と考えたのですができませんでした。

どうか、私の見落としや、やり方などありましたらご指摘していただきたく。

みなさん、宜しくお願いします

A 回答 (5件)

#3さんの方法が適切ですが。



> Range("B1").Formula = "=A1"
> になってるはず。

「マクロの記録」で作ったこの行を#1の方法で編集してね、だったんですが。
Range("B1").Formula = "=A1"

Range("B1").Formula = "=" & Range("A1")
結果は
Range("B1")の式が[=1+2+3]
    • good
    • 0

ダメです。


ご利用のエクセルのバージョンがご質問に書かれてなかったことを発端として,全部に失敗しています。

参照:
http://www4.synapse.ne.jp/yone/excel2010/excel20 …

再掲:
>B1セルを選択する(必ず行う)
>ご利用のエクセルのバージョンに応じた方法で「名前の定義」を開始する
>名前 myFormula
>参照範囲 =EVALUATE(A1)
>と記入しOKする

エクセル2010では「数式タブ」から「名前の定義」を開始し,名前を記入し,参照範囲に回答の通りに記入します
操作は「必ず」B1セルを選択した状態でおこないますが,この操作で作成した名前はB1セルに付けるのでも,もちろんA1セルに付けるのでもありません。

間違った操作をおこなってしまったブックは一回捨てて,全く新しいブックを用意して行って下さい。
回答したとおり「どこでも好きなセル」に1+2+3などを記入し,「その右隣のセル」に=myFormulaと記入して,作成した名前を利用します。
    • good
    • 0

手順:


B1セルを選択する(必ず行う)
ご利用のエクセルのバージョンに応じた方法で「名前の定義」を開始する
名前 myFormula
参照範囲 =EVALUATE(A1)
と記入しOKする

A1セル等に
1+2+3
を記入
その「右隣のセル」(今回はB1セル)に
=myFormula
と記入する。

勝手に違う事をすると出来ないので、まず回答した通りに手を動かし出来ることを確認してから、さらに実地に利用してください。



#時折寄せられる、「そもそもエクセルはそういう事をする(が出来る)ソフトじゃないのに」な、無茶振りご相談の一種です。

この回答への補足

ご回答ありがとうございます。

早速試してみようと、名前の定義から調べて実施してみました。
(参考リンク)
http://kokoro.kir.jp/excel/name.html

初めに、私の使用しているExcelは、2010になります。
検索HPにならって、名前ボックスというところから入力してみました。

ここで、疑問が生じました。
(1)myFormulaという名前はB1に付けるという考えで会っていますか。

(2)=EVALUATE(A1)というのは、”参照範囲”という記載からA1につけるのかな、と考えて入れたのですがあっていますか。

上記(1)(2)のように実施した結果、失敗してしまいました。

<出力結果>
B1に”0”が出力されました。

補足日時:2013/08/12 08:07
    • good
    • 0

申し訳ありません



×)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"
になってるはず。

この回答への補足

返信遅れて申し訳ありません。
早速試してみました。

確認の結果、B1には、1+2+3という結果が出力されました。

すみません、私の書き方が悪かったのは承知なのですが、私が本当に欲しかった結果の出力はこれではありません。

ここに、A1に記載した計算式の結果、6が出力されるのが期待っしていたものです。

あの後も色々試してみたのですがやはり、知識がまだまだ足りない為かできませんでした。

難しいですが頑張ってみます。

補足日時:2013/08/12 07:57
    • good
    • 0

VBAになりますが、可能です。



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

この回答への補足

早速のご回答ありがとうございます。

早速試してみたのですが、以下のエラーが出てしまいました。


実行時エラー’438’
オブジェクトは、このプロパティまたはメソッドをサポートしていません。

教えていただいたものを見ると、B1に、”= ”と”A1”を合わせたものを出す、というものと見てとれますが、認識あっていますか?
わたし、VBAも調べながらやっている身で知識ないのですが、問題内容にも見えるのですが。。

実際に実行したものは、以下のものになります。
ご指摘、宜しくお願いします。

Sub Macro1()

  Range("B1").fomula = "=" & Range("A1")

End Sub

補足日時:2013/08/11 18:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報