[英]Data Entry form with vba codes
我在一張表格中有一個 excel 表格作為數據輸入(1- Textbox1 = 名稱,2-Textbox2 = 舊,3-Textbox3 = Email)
你沒有說什么來澄清我的問題......當來到這里並需要幫助時,最好澄清任何問題,如果你不明白要求澄清的內容是什么。
無論如何,我正在嘗試幫助您建議下一個場景:
這三個文本框的名稱為“TextBox1”、“TextBox2”和“TextBox3”。 如果不是這樣,后面的代碼很容易適應您的真實姓名。
組合框名稱應為“ComboOptions”。 創建后,在設計模式下,右鍵單擊它,選擇Properties
並在其ListFillRange
屬性中設置 A1:A2。 然后在“A1”中添加“教師”,在“A2”中添加“學生”。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.