【发布时间】:2021-10-11 20:20:58
【问题描述】:
亲爱的,
我想制作一个简单的用户表单来将一些序列号记录到excel中,它包含一个textbox_serialNo.,一个命令按钮“输入”和另一个命令按钮“取消”。
我在那个 serialNo 文本框中做了一个验证控件,因此只能输入数字。但是,当我运行程序并在文本框中输入一些数字时,两个命令按钮(名为 label_enter 的“enter”按钮,名为 label_cancel 的“cancel”按钮)都没有反应(例如,“cancel”按钮没有按时卸载表格),我应该如何更正程序?以下是相关代码,谢谢。
Private Sub TextBox_SerialNo_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(TextBox_SerialNo.Value) Then
TextBox_SerialNo.BackColor = rgbYellow
End If
Cancel = True
End Sub
Private Sub TextBox_SerialNo_AfterUpdate()
If TextBox_SerialNo.Value <> "" Then
TextBox_SerialNo.BackColor = rgbWhite
End If
End Sub
Private sub label_enter_click()
sheet1.Select
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
ActiveCell.Offset(0, 1) = TextBox_SerialNo.Value
TextBox_SerialNo.Value = ""
End Sub
Private Sub Label_Cancel_Click()
Unload Me
End Sub
【问题讨论】:
-
“两个命令按钮”的代码片段在哪里?如何在没有看到它们的代码的情况下回答你提到这两个按钮的问题?你真的指的是命令按钮吗?
-
您好,“两个命令按钮”是指“取消”命令按钮和“输入”命令按钮。 “取消”命令按钮代码如上所示,“输入”命令按钮代码为: sheet1.select;单元格(Rows.Count, 1).End(xlUp).Offset(1, 0).Select; ActiveCell.Value = TextBox_SerialNo.Value; ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1; ActiveCell.Offset(0, 1) = TextBox_SerialNo.Value; TextBox_SerialNo.Value = "";结束子
-
1.请不要在评论中发布代码。编辑您的问题并将代码放在那里。 2. 那么,您是否有一个名为“Label_Cancel”的按钮,按下时它不会卸载表单? 3.根据我在发布的代码中可以理解的任何选择都是无用的。您应该避免选择、激活...
-
嗨,我刚刚更新了问题中的代码,是的,我有一个名为“Label_Cancel”的按钮,按下时它不会卸载表单。我的代码中可能有很多错误.....
-
您的代码看起来没有优化,但它应该可以工作。你能分享你正在使用的工作簿吗?
标签: excel vba validation controls beforeupdate