【Excel VBA】ユーザ定義の関数名を文字列で指定して実行したい


Access では Eval()が使えるようですが、Excelではどうすれば良いのでしょうか?

Function f()
Msgbox "ok"
end Function

Sub t()
CallUserFunction("f")
end Sub

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/12/11 00:19:44
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント60pt

Application.Evaluateで可能です。

http://www.ne.jp/asahi/hishidama/home/tech/excel/workfunc.html#E...


例えば、

Function test(s As String) As String
    test = s
End Function

Sub test2()
    MsgBox Application.Evaluate("test(""abc"")")
End Sub
id:nannde

SALINGERさま!

お世話になっております!

ばっちりでした!

ありがとうございます。

2009/12/11 00:19:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません