创建具有多个变量的宏

时间:2010-05-17 19:17:49

标签: vba excel-vba excel

我有几个类似代码的工作表,所以我想把它变成一个宏。我唯一的问题是有几个变量。所以在某些点上代码看起来像这样:

Dim Msg1 As String
Dim Msg2 As String

Public Sub ListBox1_LostFocus()
ListBox1.Height = 15
With ListBox1
Msg1 = "'"
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
            Msg1 = Msg1 & .List(i) & "','"
        End If
    Next i
End With
Msg1 = Left(Msg1, Len(Msg1) - 2)
Sheets("Sheet1").Range("R3", "R3") = Msg1
End Sub

等等。如何为每个工作表传递Msg1,Msg2,Msg3的新值?

1 个答案:

答案 0 :(得分:0)

创建一个模块并将下面的gathermessage放入该模块

public function gathermessage(list as listbox) as string
    'generate your message
    gathermessage = msg
end function

使用:

Sheets("Sheet1").Range("R3", "R3") = gathermessage(listbox1)

我相信你可以很好地了解细节。