ここから本文です

【VBA】他bookで実行した関数の戻り値を取得する方法

loy********さん

2019/11/2203:11:59

【VBA】他bookで実行した関数の戻り値を取得する方法

現在開いているbook(bookA)から他book(bookB)にある関数を実行し結果を返したいのですが、どのような方法があるかご教示願います。

以下の様なことがやりたいです



【例】
◆bookA
・bookBの関数「計算」を使用して、2+3と2×3の結果を取得したい

◆bookB
sub 計算(A, B, C, D)
C = A * B
D = A + B
endsub


<試して出来なかったこと>
・Application.Runを用いてbookBの関数「計算」を実行
⇒関数の実行は出来るが、結果を返せない
・Callでを用いてbookBの関数「計算」を実行
⇒同じブックでないとCallはできない

閲覧数:
8
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

hot********さん

2019/11/2203:39:18

戻り値を返す場合はFunctionにします。
BookB.xlsmの標準モジュールに

Function 掛け算(A, B)
掛け算 = A * B
End Function





呼び出し側の例です。
Application.Runで戻り値を得られます。

Sub sample()
MsgBox Application.Run("BookB.xlsm!掛け算", 3, 5)
End Sub

  • 質問者

    loy********さん

    2019/11/2203:53:39

    早速のご返信誠にありがとうございます。
    お陰様で、戻り値が単独の場合は解決できそうなのですが、戻り値が複数の場合、どの様な方法がありますでしょうか。

  • その他の返信(2件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2019/11/22 04:11:31

早速の解答ありがとうございます。助かりました。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる