VBA Excel – 通过工作表和范围作为参数

任何人都可以帮助我将一个Sub转换成一个函数,所以我可以用它来不同的窗体控件? 我是新来的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 

谢谢。

范围variables应该有合格的工作表,所以不需要单独传递。 只需编写你的子接受一个范围参数:

 Sub MySub(ByVal rng As Excel.Range) MsgBox rng.Address End Sub