我在excel中的一些代码发生了一些奇怪的事情
Private Sub CommandButton2_Click()
Dim thiswb As Workbook
Set thiswb = ActiveWorkbook
Call EnterDataToSS(thiswb)
Me.Hide
BeamNoFind.Show vbModal
End Sub
被调用的代码基本上将一些值放入电子表格中。任何剩余的值都会填充到 BeamNoFind Userform 上的 LISTBOX1。
然后在 BeamNoFind 用户窗体上有一个按钮和 LISTBOX1。当您从 listbox1 中选择项目并单击按钮时,将打开第三个用户窗体 (VBMODELESS) 以允许放置值。
下面是显示第三个用户窗体的按钮代码。
Private Sub CommandButton2_Click()
Dim Selected_Length As String
Dim Selected_Name As String
Dim Selected_Length_index As Integer
Selected_Length_index = BeamNoFind.ListBox1.ListIndex
With BeamNoFind.ListBox1
If .ListIndex > -1 Then
Selected_Name = .Column(0, .ListIndex)
Selected_Length = .Column(1, .ListIndex)
CellInputForm.beam_length_label.Caption = Selected_Name & " [ " & Selected_Length & " ] "
BeamNoFind.Hide
'ChngDataSrc.Hide
'Unload ChngDataSrc
CellInputForm.Show vbModeless
Else
MsgBox "No selection", vbExclamation, "Oops!"
End If
End With
End Sub
奇怪的是,当我单击按钮以显示我的无模式用户窗体,将数据放入单元格中时,会触发初始宏,使您进入第一个用户窗体。我有注释代码“ChngDataSrc.Hide”和“Unload ChngDataSrc”是我试图阻止用户窗体在我不想显示时显示。当我卸载表单时,我得到一个错误而不是显示表单,错误与初始宏有关:
Sub get_scheduling_data(control As IRibbonControl)
ChngDataSrc.Show
End Sub
它与 vbModeless 有关,因为如果我将“CellInputForm.Show vbModeless”行中的“vbModeless”替换为“vbModal”,它会正确显示,而不会出现不需要的形式(ChngDataSrc)。但是随后表单的功能(选择单元格,按确定按钮,放置在所选单元格中的值)消失了。