Excel 带有vba代码的数据输入表单
我有一张excel表格作为数据输入(1-Textbox1=姓名,2-Textbox2=旧版,3-Textbox3=电子邮件)你没有说什么来澄清我的问题。。。当您来到这里需要帮助时,最好澄清任何问题,如果您不了解问题的内容,请要求澄清 无论如何,我正试图帮助你提出下一个方案:Excel 带有vba代码的数据输入表单,excel,vba,forms,Excel,Vba,Forms,我有一张excel表格作为数据输入(1-Textbox1=姓名,2-Textbox2=旧版,3-Textbox3=电子邮件)你没有说什么来澄清我的问题。。。当您来到这里需要帮助时,最好澄清任何问题,如果您不了解问题的内容,请要求澄清 无论如何,我正试图帮助你提出下一个方案: 我假设您将“一张工作表中的excel表单”命名为工作表本身,它有三个文本框(ActiveX类型)和一个组合框(也是ActiveX类型) 这三个文本框的名称分别为“TextBox1”、“TextBox2”和“TextBox3”
Properties
,并在其ListFillRange
属性处设置A1:A2。然后在“A1”中添加“教师”,在“A2”中添加“学生”
“一张表格中的excel表单”是什么意思?这三个文本框是什么类型的控件?它们的真实名称是什么?“TextBox1”还是“name”“第一个呢?@Mohsen:你没有抽出时间来测试上面的解决方案吗?如果经过测试,它不是满足了你的需要吗?@Mohsen:是的,你可以。但是我们社区的想法是帮助你学习。。。如果你自己尝试的话,这会更好。请将工作簿发送给我,但同时请尝试从我的上述建议中了解的内容。你可能会有惊喜让它自己工作,这应该更有用…@Mohsen:是你送的吗?我没有收到任何东西…@Mohsen:问起发送的事,我想你可以在我的个人资料中看到私人邮件。但是你可以在转帐网站上分享。这是一个免费的网站,易于使用。您将只在此处发布生成的链接,,,@Mohsen:OK。我将在几分钟内下载并配置。。。
Private Sub EnterButton_Click()
Dim sh As Worksheet, sh2 As Worksheet, sh3 As Worksheet, workSh As Worksheet, lastRow As Long
Dim cbOption As MSForms.ComboBox, txtName As MSForms.TextBox, txtOld As MSForms.TextBox, txtEmail As MSForms.TextBox
Set sh = ActiveSheet
Set sh2 = sh.Next 'Worksheets("Teachers")
Set sh3 = sh2.Next 'Worksheets("Students")
Set cbOption = sh.OLEObjects("ComboOptions").Object
If cbOption.Value = "" Then MsgBox "No option chosen in combo box...": Exit Sub
If cbOption.Value = "Teachers" Then
Set workSh = sh2
ElseIf cbOption.Value = "Students" Then
Set workSh = sh3
End If
Set txtName = sh.OLEObjects("TextBox1").Object
Set txtOld = sh.OLEObjects("TextBox2").Object
Set txtEmail = sh.OLEObjects("TextBox3").Object
If txtName.Text = "" Or txtOld.Text = "" Or txtEmail.Text = "" Then _
MsgBox "All involved text boxes must have a value!": Exit Sub
lastRow = workSh.Range("B" & workSh.rows.count).End(xlUp).row + 1
With workSh
.Range("B" & lastRow).Value = txtName.Value
.Range("C" & lastRow).Value = txtOld.Value
.Range("D" & lastRow).Value = txtEmail.Value
End With
End Sub