みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Function 構文のなかに変数をいれたい(VBA)

お願いします。
エクセルVBAにて
下記のようなFunction構文内に変数を設定する方法を
教えてください。

この中で k以外にも
a = Sheets("sheet1").Range("E27")
b = Sheets("sheet1").Range("E27")
この変数を扱いたいのですが。
もしかして他にもfunction構文が必要でしょうか。


Function data(k As Double)
Dim sum As Double
Dim ct As Integer
Dim keisu As Integer
Dim a As Double
Dim b As Double

a = Sheets("sheet1").Range("E27")
b = Sheets("sheet1").Range("E27")
 以下 略

投稿日時 - 2007-03-26 15:54:23

QNo.2867208

すぐに回答ほしいです

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

No.1です。
それは、3つの引数を渡すようにFunctionの定義を修正したのに、セルの数式では
=data(A1)
のように1つしか指定していないからだと思います。
=data(A1,E27,E27)
のようにするとエラーにならないかと思います。

投稿日時 - 2007-03-26 17:00:07

お礼

ありがとうございました。
=data(A1,a,b)
としたら動作しました。

投稿日時 - 2007-03-26 17:15:39

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

質問の意図がよくわからないですが、引数を複数設定したいということですか?
それなら、
Function data(k As Double,a As Double, b As Double)
とすればいいです。

もし外してたらすみません。

投稿日時 - 2007-03-26 16:06:49

補足

ありがとうございます。そのように設定したところ
コンパイルエラー 引数は省略できません。と表示されます。
エラーの場所は data(k)が記述されているところです。
尚、現状(コード未修正)でaを変数ではなく、a=4,b=5のように設定すると動くのです。
どのようにすればよいのでしょうか。

投稿日時 - 2007-03-26 16:40:39

あなたにオススメの質問