我有几个类似代码的工作表,所以我想把它变成一个宏。我唯一的问题是有几个变量。所以在某些点上代码看起来像这样:
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的新值?
答案 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)
我相信你可以很好地了解细节。