QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

ExcelのVBAで別ブックのモジュール関数の呼び出し

はじめまして。
ExcelのVBAで悩んでいます。

2種類のブック(Book1とBook2)を同じExcelで開きBook1の標準モジュールの関数から
Book2の標準モジュールの関数を呼びたいのですが方法が分からず悩んでいます。
Book2のシート内の関数なら呼べるのですが、標準モジュールの関数は呼べないのでしょうか?

ご存知の方がいましたらご教授願います。
ExcelのバージョンはExcel2003を使用しています。
よろしくお願いします。

質問者:osaru

回答

参照設定してやれば使えます。

投稿者:ちゃっぴ

編集 履歴 (0)

ありがとうございます。

動的に参照設定を追加することは出来ますでしょうか?
CreateObjectで出来るのかと思っているのですが、引数になにを設定してやればできるのかまた悩んでいます。
申し訳ありませんがご教授願います。

投稿者:osaru

編集 履歴 (0)

Excel2000ですが...
こういうことでしょうか??

[code]
' Book1側
Sub test()
Dim s As String
s = Application.Run("Book2!Hello")
MsgBox s
End Sub

' Book2側
Public Function Hello() As String
Hello = "Hello!!"
End Function
[/code]

参照設定はしていません。

[ メッセージ編集済み 編集者: takacini 編集日時 2006-03-16 15:53 ]

投稿者:takacini

編集 履歴 (0)

ありがとうございます。

Excel2003でも参照設定なしで出来ました。
1日これで悩んでたんですっきりしました。
これで仕事が進みます。

本当にありがとうございました。

投稿者:osaru

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。