错误1004应用程序或对象错误将用户表单信息保存到工作表时

问题描述:

我已经构建了Userform用于开具发票工单。它可以将客户添加到数据库中,启动新的工单或从数据库中选择现有客户以启动新的工单。错误1004应用程序或对象错误将用户表单信息保存到工作表时

我写的用于保存工作订单的代码在选择工作表中的范围时出现了问题。

我已经使用相同的代码来保存客户信息(我复制并粘贴了EXACT代码,以确定它是否能代替我为保存工作订单而编写的代码),并且它失败1004 Application or Object Error

我输入和计算后无法保存工作订单信息。

我已经尝试了4种或5种不同的方法,但目前唯一的代码是我用于保存客户信息的代码。

Sheet3.Activate 

Range("A1").End(xlDown).Offset(1, 0).Select 
ActiveCell.Value = txtFirstName.Value 
ActiveCell.Offset(0, 1).Value = txtLastName.Value 
ActiveCell.Offset(0, 2).Value = txtPhone.Value 
ActiveCell.Offset(0, 3).Value = txtCity.Value 
ActiveCell.Offset(0, 4).Value = cboProvince.Value 
ActiveCell.Offset(0, 5).Value = txtStreetNumber.Value 
ActiveCell.Offset(0, 6).Value = txtStreetName.Value 
ActiveCell.Offset(0, 7).Value = txtUnit.Value 
ActiveCell.Offset(0, 8).Value = txtPostalCode.Value 
+0

哪一行会导致错误? – harun24hr

+0

Range(“A1”)。End(xlDown).Offset(1,0)。选择 – Juicyblunts

+0

尝试预处理'Range(“A1”)''如'Sheet3.Range(“A1”)。在Application对象上使用默认值通常是错误的来源。 – TnTinMn

你的线

Range("A1").End(xlDown).Offset(1, 0).Select 

是VBA等效的手动选择单元格A1,按压结束DownArrow中文,然后选择低于该细胞一行。

如果你在一个评论说,你在A列中没有什么(除了可能的东西在单元格A1本身),什么情况是

  • 您选择单元格A1
  • 结束DownArrow中文
  • Excel中移动选择到细胞A1048576(或细胞A65536取决于版本)
  • 你看看,看看有没有行1048577
  • 你惊恐地举起你的手,说“我不能这么做 - 请不要强迫我去尝试!!” (这是Excel想说的,但它礼貌地返回“运行时错误'1004':应用程序定义或对象定义的错误”)

解决方法是从底部开始工作表并通过向上移动找到最后一个非空单元格:

Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select 
+0

你是天赐之宝!非常感谢您解释为什么我的代码无法正常工作以及您的解决方案为何如此。这比仅仅提供有效的代码更有帮助! – Juicyblunts