ちょっと先の未来クイズ第5問

セルの値を数式に変換したいと思います。
(例)A1セルに文字列で
sum(A2:A10)を
=sum(A2:A10)
という数式に変換。

宜しくお願い致します。

A 回答 (6件)

#2の Wendy02 です。



>また[データ]-[区切り位置]-そのまま「完了」
>何故上手くいくのでしょうか?

なぜできるのか、私にも分かりません。いろんなことをしているうちに、偶然に発見したのです。でも、逆に、なぜ「値」貼り付けで、できないのでしょうね。(^^;
書式で文字列にしていないのに、そのままの状態にあるのですね!

どうも、未だに、バグのようなバグでないような、分からない部分がExcelにはあります。

マクロのほうですが、

No.3のtestuya さんから出ていますが、ひとつずつではなく、まとめて行う方法です。

なるべく、標準モジュールに登録してください。
Alt を押しながら、F11 を押して、挿入-標準モジュールです。
もう一度、Alt+ F11 で、元に戻ります。

Sub ActivateFormula()
Dim Rng As Range
Dim c As Variant
Set Rng = Selection 'マウスで選択された範囲
For Each c In Rng
 If Not c.HasFormula And VarType(c) = vbString Then
 If Not IsError(Evaluate(c.Value)) Then
  c.Formula = "=" & c.Value
 End If
End If
Next c
End Sub


この考え方は、まず、範囲をマウス選択して、そのセル1つずつを見ていきます。
文字列であって、式ではないこと。

そして、式に変換する前に、その式はエラーにならないことを条件にして、そのセルにある文字列は、式に変換する、という考え方です。(エラーを出してもよければ、If Not IsError ... End If の部分を外してください)

当然、空白セルは文字列ではありませんので、変換の対象にはなりませんが、「""」は、変換の対象になります。
    • good
    • 0
この回答へのお礼

有り難うございました。大変勉強になりました。

お礼日時:2005/06/20 12:29

私の場合は以下の通りです。

 
sum(A2:A10)の先頭に+を入れ +sum(A2:A10) としてEnterキーで確定します。
変化しない場合は書式設定が[標準]か[文字列]です。 +sum(A2:A10)のセルを右クリックし書式設定で[数値]に変更します。 そして(重要) +sum(A2:A10)のセルが選択されている状態で、計算バーをクリックし(文字入力状態にして) Enterキーで確定しますと =+SUM(A2:A10)となり目的を果たせます。 (+入力ではなっくShiftキーを使う=で入力すればSUMの前に+は付きません)
    • good
    • 0
この回答へのお礼

有り難うございました。大変参考になりました。

お礼日時:2005/06/20 12:28

データ


A1:A4
1
2
3
4
A5:A8に
AVERAGE(a1:a2)
Stdev(a1:a3)
max(a1:A3)
sum(a1:a4)
VBA
Sub test01()
For i = 5 To 8
Cells(i, "c").Formula = "=" & Cells(i, "A")
Next i
End Sub
上記VBA実行後
C5:C8
1.5
1
3
10
とうまく計算するようです。
    • good
    • 0

単発でアクティブセルのみを変換するなら、


マクロに
ActiveCell.Formula = "=" & ActiveCell.Formula
もしくは
ActiveCell.Value = "=" & ActiveCell.Value
を貼り付けるのは感じはどうですか

さらに
マクロオプションで、ショートカットキーを割り当てると変換が簡単になります。
    • good
    • 1

こんばんは。



例えば、B1 に、

 ="="&A1

としておき、フィルハンドルで、必要な部分をコピー

次に、
 範囲をコピー
 右クリック-[形式を選択して貼り付け]-[値]

次に、
 範囲を選択したまま、
 [データ]-[区切り位置]-そのまま「完了」

で、式に変更できるはずです。

そうでなければ、マクロになります。
必要でしたら、マクロも書きます。
    • good
    • 0
この回答へのお礼

有り難うございました。
是非マクロも教えてください。
また[データ]-[区切り位置]-そのまま「完了」
何故上手くいくのでしょうか?

お時間があるときで構いませんので宜しくお願い致します。

お礼日時:2005/06/16 11:20

こちらの理解間違いかもしれませんが・・・



sumの前に=を入れ忘れたから、=をつければいいってことですか?
小文字で書いてますよね。

編集→置換で、sumを=sumとすればいいと思います。

この回答への補足

ご回答有り難うございます。
確かにその方法で上手くいくのですが、変更が複数セルあり、
しかも関数がsumだけではないので困っています。

補足日時:2005/06/15 17:05
    • good
    • 0

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

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


おすすめ情報