用户表单将数据输入到多个工作表
Userform entering data to multiple sheets
我按照在线指南说要在用户表单中设置多页,然后提供了代码,但仍然出现语法错误,似乎无法找出问题所在。
我希望最终用户选择他们要填写的页面,然后点击提交,然后它将数据提交到工作簿中正确的 sheet。
如果用户有新套件要在系统中注册,他们会填写寄存器位,然后点击提交并将数据放入寄存器 sheet,依此类推,例如填写部署工具包表格,它将数据放入部署 sheet.
表单顶部的资产编号会自动添加到每个条目中。
忽略报告页面,稍后会解决该问题。
我尝试在发布问题弹出错误后添加代码
Private Sub SB1_Click()
Dim lrREG As Long, lrB As Long, lrDep As Long, lrDis As Long
lrREG = Sheets("Register").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Register").Cells(lrREG + 1, "A").Value = TextBox1.Text
Sheets("Register").Cells(lrREG + 1, "B").Value = TextBox2.Text
Sheets("Register").Cells(lrREG + 1, "C").Value = TextBox3.Text
Sheets("Register").Cells(lrREG + 1, "D").Value = TextBox4.Text
Sheets("Register").Cells(lrREG + 1, "E").Value = TextBox5.Text
Sheets("Register").Cells(lrREG + 1, "F").Value = TextBox6.Text
End Sub
我会这样做,使用 Range 和 Declaring Workbook,并且在调用它的对象时总是提到用户窗体的名称。
Private Sub SB1_Click()
'Declare the Variables
Dim lrREG As Long
Dim WrReg as Long
Dim Wk As Workbook
'Assign the Declared Variables
Set Wk = ActiveWorkbook
lrREG = Wk.Sheets("Register").Range("A" & Rows.Count).End(xlUp).Row
WrReg = lrREG + 1
Sheets("Register").Range("A" & wrReg).Value = FormName.TextBox1.Value
Sheets("Register").Range("B" & wrReg).Value = FormName.TextBox2.Value
Sheets("Register").Range("C" & wrReg).Value = FormName.TextBox3.Value
Sheets("Register").Range("D" & wrReg).Value = FormName.TextBox4.Value
Sheets("Register").Range("E" & wrReg).Value = FormName.TextBox5.Value
Sheets("Register").Range("F" & wrReg).Value = FormName.TextBox6.Value
End Sub
我按照在线指南说要在用户表单中设置多页,然后提供了代码,但仍然出现语法错误,似乎无法找出问题所在。
我希望最终用户选择他们要填写的页面,然后点击提交,然后它将数据提交到工作簿中正确的 sheet。
如果用户有新套件要在系统中注册,他们会填写寄存器位,然后点击提交并将数据放入寄存器 sheet,依此类推,例如填写部署工具包表格,它将数据放入部署 sheet.
表单顶部的资产编号会自动添加到每个条目中。
忽略报告页面,稍后会解决该问题。
我尝试在发布问题弹出错误后添加代码
Private Sub SB1_Click()
Dim lrREG As Long, lrB As Long, lrDep As Long, lrDis As Long
lrREG = Sheets("Register").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Register").Cells(lrREG + 1, "A").Value = TextBox1.Text
Sheets("Register").Cells(lrREG + 1, "B").Value = TextBox2.Text
Sheets("Register").Cells(lrREG + 1, "C").Value = TextBox3.Text
Sheets("Register").Cells(lrREG + 1, "D").Value = TextBox4.Text
Sheets("Register").Cells(lrREG + 1, "E").Value = TextBox5.Text
Sheets("Register").Cells(lrREG + 1, "F").Value = TextBox6.Text
End Sub
我会这样做,使用 Range 和 Declaring Workbook,并且在调用它的对象时总是提到用户窗体的名称。
Private Sub SB1_Click()
'Declare the Variables
Dim lrREG As Long
Dim WrReg as Long
Dim Wk As Workbook
'Assign the Declared Variables
Set Wk = ActiveWorkbook
lrREG = Wk.Sheets("Register").Range("A" & Rows.Count).End(xlUp).Row
WrReg = lrREG + 1
Sheets("Register").Range("A" & wrReg).Value = FormName.TextBox1.Value
Sheets("Register").Range("B" & wrReg).Value = FormName.TextBox2.Value
Sheets("Register").Range("C" & wrReg).Value = FormName.TextBox3.Value
Sheets("Register").Range("D" & wrReg).Value = FormName.TextBox4.Value
Sheets("Register").Range("E" & wrReg).Value = FormName.TextBox5.Value
Sheets("Register").Range("F" & wrReg).Value = FormName.TextBox6.Value
End Sub