• ベストアンサー

文字列を数式に変換したいのですが

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

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

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) 1 sin(a1) 0.841470985 0.841470985 2 sin(a2) 0.909297427 0.909297427 0.523598667 sin(a3) 0.499999906 0.499999906 2.71828 log(a4) 0.43429419 0.43429419 でテストしました。D列は普通に=sin(a1),=log(a4) などといれたものです。

omesan
質問者

お礼

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

その他の回答 (4)

回答No.5

初めまして。サンプルマクロを組んでみました。次のように操作してみて下さい。 ・新規ブックを開き、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に表示されると思います。 お試しになってみて下さい。

omesan
質問者

お礼

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

  • bugmaru
  • ベストアンサー率38% (76/195)
回答No.3

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

omesan
質問者

お礼

解決しました。

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

VBAで「FormulaR1C1」に「=」と式の文字列をセットすればOK。 セルA2に「sin(60)」、セルA3に「cos(60)」といれて VBAで以下のコードを書いて実行したら結果が得られましたよ。 Range("B2").FormulaR1C1 = "=" & Range("A2").Value Range("B3").FormulaR1C1 = "=" & Range("A3").Value

omesan
質問者

お礼

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

  • shota_TK
  • ベストアンサー率43% (967/2200)
回答No.1

変更が少ないなら,セルをクリックして,半角で「=」を入力すれば OKですよね. それじゃダメだから質問してるんですよね?

omesan
質問者

お礼

解決しました。

omesan
質問者

補足

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

関連するQ&A