2016-04-03 20 views
0

私はSubを関数に変換して、別のフォームコントロールに使用することができますか?私はVBAの初心者です。私はこれを何時間も変わらずに改造しようとしています。誰かを助けることができたらそれを感謝しなさい。VBA Excel - パラメータとしてワークシートと範囲を渡す

Private Sub ComboBox1_Change() 
    Dim v, e 
    With Sheets("DATABASE").Range("minRange").SpecialCells(2) 
     v = .Value 
    End With 

    With CreateObject("scripting.dictionary") 
     .comparemode = 1 
     For Each e In v 
     If Not .exists(e) Then .Add e, Nothing 
     Next 
     If .Count Then Me.ComboBox1.List = Application.Transpose(.keys) 
    End With 
End Sub 

ありがとうございます。

+0

両方サブルーチンと関数はあなただけの括弧の間のヘッダ –

+0

待ちでそれらを識別するために必要なパラメータを受け入れることができ、あなたが 'ComboBox1_Changeを変更したい意味ですか:ちょうど範囲の引数を受け入れるためにあなたのサブを書きます'イベントはパラメータを受け入れる? –

答えて

1

範囲変数にはすでに修飾されたワークシートが含まれている必要があります。そのため、個別に渡す必要はありません。 ()、

Sub MySub(ByVal rng As Excel.Range) 

    MsgBox rng.Address 

End Sub 
関連する問題