错误1004设置单元格值

时间:2017-10-20 21:06:42

标签: vba excel-vba excel

运行以下代码时,我收到错误"运行时错误' 1004':应用程序定义或对象定义错误"。它打破了标记线

 Dim cwb As Workbook
 Dim csh As Worksheet
 Set cwb = Workbooks.Open("M:\Secretary Resources\AppTracking\SentSurveys.xlsx")
 Set csh = cwb.Sheets("Sheet1")
 ''It breaks on this next line
 csh.Range("A1").End(xlDown).Offset(1, 0).Value = Format(DateTime.Now, "MM-DD-YYYY HH.MM AM/PM")
 csh.Range("A1").End(xlDown).Offset(0, 1).Value = Survey_Count

我已经查看了所有错误1004的答案,并且它们要么不起作用(例如取消保护表单),要么它们对我的实施没有足够的意义。

我只是想打开一个现有的电子表格并在其末尾添加一行新值(不对活动工作簿或活动工作表进行任何更改,这些更改当前正由其他人使用)。任何人都知道如何才能让它发挥作用?

编辑:这是在sub中执行的,它在那里不起作用。

1 个答案:

答案 0 :(得分:1)

感谢jsotola的回答。

解决方案是用一些东西填充第1行下面的行。我刚用过' - '标记。

End(xlDown)移动到列中的最后一个非空单元格,但是,如果它已经从列中的最后一个非空单元格开始,它将跳过它找到的空单元格,直到它或者找到更多非空单元格或点击工作表的末尾。

从A1开始,之后没有任何东西,因此,它不是停留在它开始的地方(我认为它会这样做),而是跳到了工作表的底部。然后我偏移到工作表外的一个不存在的单元格,从而给我错误。