错误: – 运行时错误“1004”
Sub DataInputBox() Dim Id As Integer Dim Name As String Dim gender As String Id = InputBox("Enter in your id") Name = InputBox("Enter in your Name") gender = InputBox("Enter in your gender") Sheets(2).Range("a1").End(xlDown).Offset(1, 0).Value = Id Sheets(2).Range("a1").End(xlDown).Offset(1, 1).Value = Name Sheets(2).Range("a1").End(xlDown).Offset(1, 2).Value = gender End Sub
上面的代码在excel中执行时遇到了运行时错误。
错误: – 运行时错误“1004”应用程序定义或对象定义的错误
您需要一些材料出现在Sheet2的 A列中。 从…开始:
我跑你的代码(没有错误地运行) ,得到:
只要确保你在正确的表格中有合理的数据。
试试看,
Sheets(2).Range("a" & rows.count).End(xlUP).Offset(1, 0).Value = Id Sheets(2).Range("a" & rows.count).End(xlUP).Offset(0, 1).Value = Name Sheets(2).Range("a" & rows.count).End(xlUP).Offset(0, 2).Value = gender
试试下面
Sheets(2).Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1).Value = ID Sheets(2).Range("B" & Range("A" & Rows.Count).End(xlUp).Row).Value = Name Sheets(2).Range("C" & Range("A" & Rows.Count).End(xlUp).Row).Value = gender
只是为了获得第四个解决scheme:
Sub DataInputBox() Dim Id As Long Dim xName As String Dim gender As String Id = InputBox("Enter in your id") xName = InputBox("Enter in your Name") gender = InputBox("Enter in your gender") Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 3).Value = Array(ID, xName, gender) End Sub
但是,最好不要将Name
声明为variables,否则VBA可能会混乱,因为每个对象都有它作为属性。 ;)