【お題】NEW演歌

エクセルに「=A1+A2」という文字列を値コピーでペーストしたのですが、この文字列を簡単に数式に変換する方法はないでしょうか?                              文字列のはいったセルをダブルクリックすれば、文字列が数式にかわって、A1+A2を計算しれくれるのですが、ひとつひとつのセルをダブルクリックするのが大変で・・・。
よろしくお願いいたします。

A 回答 (4件)

該当する範囲を選択してから


「編集」「置換」で
検索する文字列「=」
置換後の文字列「=」
で置換する。
    • good
    • 16
この回答へのお礼

ありがとうございます、実は昨日この方法を思いつき、これで試した後全てうまくリフレッシュできました。わざわざありがとうございます。

お礼日時:2007/11/21 23:27

#3です。

すみません。#3の回答では比較等号演算子も消えるので不都合が起こる場合がありますので
Sub test01()
d = Range("C65536").End(xlUp).Row
MsgBox d
For i = 1 To d
Cells(i, "D").FormulaLocal = "=" & Mid(Cells(i, "c"), 2, Len(Cells(i, "c")) - 1)
Next i
End Sub
に訂正します。
    • good
    • 3
この回答へのお礼

わざわざありがとうございます。これも今度試してみます。ありがとうございました!

お礼日時:2007/11/21 23:30

考え方としてはEVALUATEという処理になります。


数+演算子などならできるソフトもあるようですが、エクセルは
EVALUATE関数がないです。2007でもないと思います。
数+演算子の例(リテラル数の1+2のような単純な具体的なものに限られる、セル番地の指定ができないということ?)
http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q- …
http://www.ne.jp/asahi/hishidama/home/tech/excel …
ーー
ですからエクセルではセルの式をVBAで設定すればよい。
Sub test01()
d = Range("C65536").End(xlUp).Row
MsgBox d
For i = 1 To d
Cells(i, "D").FormulaLocal = "=" & Replace(Cells(i, "c"), "=", "")
Next i
End Sub
上記は
C列に
=A1+B1
=A1+A3
(先頭に’付き)
D列に式の答えの例です。
A1:D3
25=A1+B17
ー   -    =A1+A35
3
なぜか=A1+A3をFormulaLocal の式にそのまま代入すると文字列のままになってしまう。
テスト例数が少ないので(私には)不安あり。
循環参照な注意のこと。
式が加減乗除以外の複雑なものはやってみないと(私には経験少なく)不安あり。多分大丈夫でしょう。
    • good
    • 2

「F2」キーをクリック→「Enter」キーでも計算できます。


ダブルクリックより少し楽です。
    • good
    • 0
この回答へのお礼

この方法でもできるのですね、ありがとうございます。今度試してみます。

お礼日時:2007/11/21 23:29

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報