Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20315 / 76732 ←次へ | 前へ→

【61838】Re:Application.Run で他のブックのfunctionを呼び出したい
回答  つん  - 09/6/9(火) 11:24 -

引用なし
パスワード
   ▼tsgross さん:
こんにちは

>■症状
>二つのブック(Book1.xls, Book2.xls)を作ります。
>Book1.xls から Book2.xls 上にある Function を呼び出したいと思うのですが、
>「実行時エラー 1004
>マクロ 'C:\Documents and Settings\First-Last\My Documents\excel\Book2.xls!Test' が見つかりません」
>と言われて Book2.xls にある Test() という Function が呼び出せません。
>
>■マクロ
>■■Book1.xls
>Private Sub Command_Button1_Click()
> Workbooks.Open("C:\Documents and Settings\First-Last\My Documents\excel\Book2.xls")
> dim x as Long
ここ↓
> x = Application.Run( "C:\Documents and Settings\First-Last\My Documents\excel\Book2.xls!Test )
x = Application.Run("Book2.xls!Test")
でいいと思います。

>End Sub
>
>■■Book2.xls
>Public Function Test()
> Dim wb as Workbook
> set wb = ThisWorkbook
> MsgBox( "僕は" & wb.Name )
>End Function

それから、Functionだと

Public Function Test() As String

 Dim wb As Workbook
 Set wb = ThisWorkbook
 Test = "僕は" & wb.Name
 
End Function

こういう形ですよね。
で、文字列を返してるから、
Book1で受けるのも

> dim x as Long

じゃなくて、「String型」にしないとダメやないかな?
0 hits

【61835】Application.Run で他のブックのfunctionを呼び出したい tsgross 09/6/9(火) 11:05 質問
【61836】Re:Application.Run で他のブックのfuncti... イブX 09/6/9(火) 11:17 発言
【61839】Re:Application.Run で他のブックのfuncti... イブX 09/6/9(火) 11:29 発言
【61840】Re:Application.Run で他のブックのfuncti... tsgross 09/6/9(火) 11:36 発言
【61838】Re:Application.Run で他のブックのfuncti... つん 09/6/9(火) 11:24 回答
【61841】Re:Application.Run で他のブックのfuncti... tsgross 09/6/9(火) 12:00 発言
【61842】Re:Application.Run で他のブックのfuncti... つん 09/6/9(火) 12:18 発言
【61851】Re:Application.Run で他のブックのfuncti... tsgross 09/6/9(火) 13:59 発言
【61852】Re:Application.Run で他のブックのfuncti... Yuki 09/6/9(火) 14:05 発言
【61853】Re:Application.Run で他のブックのfuncti... tsgross 09/6/9(火) 14:16 発言
【61857】自己解決しました:Re:Application.Run で... tsgross 09/6/9(火) 14:34 お礼

20315 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free