我设计了UserForm1。我有ComboBox。我想在模块中打开UserForm1,从ComboBox中选择一些东西,在UserForm1中单击"确定"后,ComboBox应该被分配给模块中的变量,代码应该进一步运行。
我定义了公共UserForm:
Public Sub UserForm_Initialize()
Dim TCol As Long, CCol As Long
Dim wsRoadmap As Worksheet
Set wsRoadmap = Sheets("Roadmap")
TCol = wsRoadmap.Cells(4, Columns.Count).End(xlToLeft).Column
Me.ComboBox1.Clear
'loop from column C to the last used column of 5th row
For CCol = 3 To TCol
If VBA.Trim(wsRoadmap.Cells(4, CCol).Value) <> "" Then
Me.ComboBox1.AddItem wsRoadmap.Cells(4, CCol).Value
End If
Next CCol
End Sub
我在用户表单中定义了公共按钮
Public Sub but2_Click()
CB1 = Me.ComboBox1.Value
Me.Hide
End Sub
我在模块中定义了公共变量
Public CB1 As String
当我在模块中调用userform时,它弹出了,但代码正在进一步运行,没有等待我在userform中的选择。。。
解决方案由Christofer Weber提供:"在userform属性中,您有"吗;ShowModal";设置为True?如果没有,那就试试";。谢谢你,克里斯。