Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 错误1004“;应用程序定义或对象定义错误_Excel_Vba - Fatal编程技术网

Excel 错误1004“;应用程序定义或对象定义错误

Excel 错误1004“;应用程序定义或对象定义错误,excel,vba,Excel,Vba,我有一个用户表单,里面有文本框 当我尝试单击表单中的Submit按钮时,我得到一个错误error 1004“应用程序定义或对象定义错误”。为什么我会犯这样的错误 这是密码 Private Sub btnSubmit_Click() Sheet2.Activate Dim lastRow2 As Long lastRow2 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row + 1 Sheets

我有一个
用户表单
,里面有
文本框

当我尝试单击表单中的
Submit
按钮时,我得到一个错误
error 1004“应用程序定义或对象定义错误”
。为什么我会犯这样的错误

这是密码

Private Sub btnSubmit_Click()
    Sheet2.Activate
    Dim lastRow2 As Long
    lastRow2 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row + 1

    Sheets("Sheet2").Range("A" & lr4).Value = CDate(Me.tbDate).Value
    Sheets("Sheet2").Range("B" & lr4).Value = Me.tbProduct.Value
    Sheets("Sheet2").Range("C" & lr4).Value = Me.tbQty.Value
    Sheets("Sheet2").Range("D" & lr4).Value = Me.tbPrice.Value        
End Sub

Private Sub UserForm_Initialize()
    Me.tbDate.Value = Date
    Me.tbProduct.Value = ""
    Me.tbQty.Value = ""
    Me.tbPrice.Value = ""
End Sub

您得到该错误是因为
lr4
0

Sheets("Sheet2").Range("A" & lr4).Value = CDate(Me.tbDate).Value
进一步澄清


一旦您修正了
lr4
的值,您将不会得到问题中提到的
应用程序定义错误。但是,由于
Cdate
中的
.Value
,您将得到一个语法错误。删除或将其更改为
CDate(Me.tbDate.Value)

始终有助于指定它在哪一行失败。这里的
ssheet
是什么?如果是
Sheet2
?@TimWilliams更新了代码,是的,它的sheet2OK,但问题出在哪一行?如果你继续修改代码,它将不再是一个有用的问题……我已将
lastRow2
改回
lr4
,否则我的答案失去了意义。我还缩进了代码并做了一些小改动。啊,是的,就是这样!我忘了更换lr4I,我以为是
零件。。。CDate不返回object@TimWilliams:这将产生
语法错误
lrr=0
将给出
应用程序定义..
错误:)