VB应用程序
对于可能涉及的人,我有一个表单,表单上按顺序有一个命令按钮和几个复选框。如果任何复选框为1或true,则程序调用一个子(在模块中),从用户处获取特定输入/值,并将该输入写入excel工作表中的特定单元格。完成后,我希望程序返回到主窗体上的下一个复选框,该复选框为1或true,并调用一个新的子(在模块中),从用户那里获取特定的输入/值。完成后,我希望程序返回到下一个复选框,即=true等。示例sub Cmd\u ahu\u click()
如果Chkbox1=1,则
ahu\uchoices1     '在模块中完成时在单独的模块中找到;转到下一个elseif chkbox2语句,然后转到ahu选项2      '在模块中完成时在单独的模块中找到;转到下一个elseif Chkbox3状态,然后转到ahu选项3      '在模块中完成时在单独的模块中找到;返回主窗体以获取更多选择
其他:没有选择任何选项,如果您有任何帮助,我们将不胜感激
嗯,那赢了';不要这样做……如果……那么……否则只会按顺序评估项目,而忽略其余项目……但我怀疑你已经发现了,否则你不会';如果你知道复选框的数量,你可以将每个复选框分为单独的If.then语句[代码然而,更理想的方法可能是使用每个复选框的事件处理程序…
Private Sub Chkbox1_Click ()
If Chkbox1.Value = True Then
'Do Stuff
Else
'Undo Stuff
End If
End Sub
然后,您要做的是在应用程序启动时存储每个复选框的值,如果用户取消,则重置导致执行撤消操作的复选框的数值
还有其他方法,例如循环通过控件并根据控件名称执行操作'Put this code in a sub that is executed at form closing time, when it wasn't cancelled
Dim cntrl As Control
For Each cntrl In MyForm.Controls 'Change this to your own form name
Select Case cntrl.Name
Case "Chkbox1"
'Do Stuff
Case "Chkbox2"
'Do Stuff
Case "Chkbox3"
'Do Stuff
Case Else
'Do Stuff
End Select
Next cntrl
祝你好运 Keith,
感谢您的回复,请参阅闲暇时的附件。这是尝试用vb编写代码的初级阶段。这是一个非常新的尝试
谢谢你,马克。
页:
[1]