Excel UserForm运行时错误|应用程序定义或对象定义错误
我用Excel制作了一个用户表单。它有文本框、复选框和命令按钮。 UserForm以文本框开始,然后出现一些复选框,文本框继续Excel UserForm运行时错误|应用程序定义或对象定义错误,excel,vba,checkbox,listbox,userform,Excel,Vba,Checkbox,Listbox,Userform,我用Excel制作了一个用户表单。它有文本框、复选框和命令按钮。 UserForm以文本框开始,然后出现一些复选框,文本框继续cmdAddData\单击可将数据发送到工作表。我找了很多,但我是这里的新手 当我想发送数据时,它会给出 运行时错误、应用程序定义错误或对象定义错误 感谢所有的帮助 Private Sub cmdAddData_Click() lastrow = ThisWorkbook.Worksheets("00. Active Customers").Cells(Rows.Coun
cmdAddData\单击
可将数据发送到工作表。我找了很多,但我是这里的新手
当我想发送数据时,它会给出
运行时错误、应用程序定义错误或对象定义错误
感谢所有的帮助
Private Sub cmdAddData_Click()
lastrow = ThisWorkbook.Worksheets("00. Active Customers").Cells(Rows.Count, 1).End(xlUp).Row
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 0).Value = txtDate.Text
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 1).Value = txtName.Text
'after 34 textboxes, now for checkboxes
If cbxADSL.Value = True Then
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 35).Value = "Yes"
Else
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 35).Value = "No"
End If
If cbxAlarm.Value = True Then
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 36).Value = "Yes"
Else
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 36).Value = "No"
End If
'after checkboxes, now for textboxes
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 122).Value = txtFirstContact.Text
ThisWorkbook.Worksheets("00. Active Customers").Cells(lastrow + 1, 123).Value = txtLastContact.Text
End Sub
问题是单元格(lastrow+1,0)
单元格
与单元格(行、列)
一样使用,但列编号以1开始,列0
不存在
此外,您还可以使用和减少代码:
Private Sub cmdAddData\u Click()
使用此工作簿。工作表(“00.活动客户”)
lastrow=.Cells(.Rows.Count,1).End(xlUp).Row
.Cells(lastrow+1,0).Value=txtDate.Text'问题是单元格(lastrow+1,0)
单元格
与单元格(行、列)
一样使用,但列编号以1开始,列0
不存在
此外,您还可以使用和减少代码:
Private Sub cmdAddData\u Click()
使用此工作簿。工作表(“00.活动客户”)
lastrow=.Cells(.Rows.Count,1).End(xlUp).Row
.Cells(lastrow+1,0).Value=txtDate.Text'在哪一行出现错误?嘿:)。在以本工作簿开头的第三行。工作表(“00.活跃客户”)……啊,当然:单元格
的用法与单元格(行、列)
类似,但您编写了单元格(lastrow+1,0)
。问题是列编号以1
开始,而列0
不存在此外,我建议将for用于此工作簿。工作表(“00.活动客户”)
。所以你不必一遍又一遍地重复。非常感谢你,伙计!成功了!但是我不明白其他的建议:)把它作为答案贴出来。你在哪一行得到错误?嘿:)。在以本工作簿开头的第三行。工作表(“00.活跃客户”)……啊,当然:单元格
的用法与单元格(行、列)
类似,但您编写了单元格(lastrow+1,0)
。问题是列编号以1
开始,而列0
不存在此外,我建议将for用于此工作簿。工作表(“00.活动客户”)
。所以你不必一遍又一遍地重复。非常感谢你,伙计!成功了!但我不明白另一条建议:)把它作为答案贴了出来。
Private Sub cmdAddData_Click()
With ThisWorkbook.Worksheets("00. Active Customers")
lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(lastrow + 1, 0).Value = txtDate.Text '<-- column number must be fixed
.Cells(lastrow + 1, 1).Value = txtName.Text
'after 34 textboxes, now for checkboxes
.Cells(lastrow + 1, 35).Value = IIf(cbxADSL.Value, "Yes", "No")
.Cells(lastrow + 1, 36).Value = IIf(cbxAlarm.Value, "Yes", "No")
'after checkboxes, now for textboxes
.Cells(lastrow + 1, 122).Value = txtFirstContact.Text
.Cells(lastrow + 1, 123).Value = txtLastContact.Text
End With
End Sub