dポイントプレゼントキャンペーン実施中!

Excelで例えば
『sin(A1)』
と書かれた文字列を
"=sin(A1)"
のように数式に変換することはできるのでしょうか。

A 回答 (5件)

VBAで


Sub test02()
For i = 1 To 4
a = Cells(i, 2)
Cells(i, 3).Formula = "=" & a
Next i
End Sub
(A)   (B)   (C)       (D)
1sin(a1)0.8414709850.841470985
2sin(a2)0.9092974270.909297427
0.523598667sin(a3)0.4999999060.499999906
2.71828log(a4)0.434294190.43429419
でテストしました。D列は普通に=sin(a1),=log(a4)
などといれたものです。
    • good
    • 0
この回答へのお礼

ありがとうございました。解決しました。

お礼日時:2002/11/12 19:31

初めまして。

サンプルマクロを組んでみました。次のように操作してみて下さい。

・新規ブックを開き、ALT+F11キーを押してVBE画面を表示させ、画面左上のVBAProjectと書かれている下のSheet1をダブルクリックして表示された画面の右側の白い部分に下記のコードをコピー&ペーストする。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim b As Double
Dim a As Integer
Dim pi As Double
Dim myRow As Integer

If Target.Column <> 1 then exit sub
  Application.EnableEvents = False
a = Target.Value
pi = 4 * Atn(1)
b = a * (pi / 180)
Target.Offset(0,1).Value = Sin(b)
Application.EnableEvents = True

End Sub

ALT+F11キーを押してエクセル画面にもどり、A1に求めたい度数を入力して下さい。A1を抜けた時点でマクロが走り、サインの答えがB1に表示されると思います。

お試しになってみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。解決しました。

お礼日時:2002/11/12 19:30

文字列の置き換えで、"sin"を"=sin"に一括変換すればできませんか?

    • good
    • 0
この回答へのお礼

解決しました。

お礼日時:2002/11/12 19:34

VBAで「FormulaR1C1」に「=」と式の文字列をセットすればOK。



セルA2に「sin(60)」、セルA3に「cos(60)」といれて
VBAで以下のコードを書いて実行したら結果が得られましたよ。

Range("B2").FormulaR1C1 = "=" & Range("A2").Value
Range("B3").FormulaR1C1 = "=" & Range("A3").Value
    • good
    • 0
この回答へのお礼

ありがとうございました。解決しました。

お礼日時:2002/11/12 19:34

変更が少ないなら,セルをクリックして,半角で「=」を入力すれば


OKですよね.

それじゃダメだから質問してるんですよね?

この回答への補足

そうです。
数値の文字列なら
=value(A1)
などの関数で返せるんですけど、
数式の文字列を数式に返すことはできるんだろうか。

補足日時:2002/11/11 18:30
    • good
    • 0
この回答へのお礼

解決しました。

お礼日時:2002/11/12 19:35

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