2017-09-05 16 views
2

パブリック関数にワークシートを渡す:エクセルVBA私は公共の機能を持っている

Sub Main() 
Dim ws as Worksheet 
Dim out, in 

ws = ThisWorkbook.Sheets("Sheet1") 

out = Test (ws, in) 

私が手にテストの呼び出し「をByRefの引数型の不一致」エラー:

Public Function Test(wrs As Worksheet, arr As Variant) As Variant 

と私はメイン、サブを持っています。そして、あなたにも、関数の戻り値を設定していることを確認してください

set ws = ThisWorkbook.Sheets("Sheet1") 

編集:

答えて

6

は次のようにSetキーワードを使用します。このように:

Public Function Test() As Variant 
    Set Test = ActiveSheet 
End Function 

Public Sub TestMe() 
    Debug.Print Test.name 
End Sub 
+0

ええ、私は自分のコードでそれを持っていた。私はそれを書き留めるのを忘れた。それはそうではありません – user155754

+0

@ user155754 - 編集を参照して、あなたはおそらく関数の戻り値を設定していません。 – Vityata

関連する問題