2017-10-20 50 views
0

运行以下代码时,出现错误“运行时错误'1004':应用程序定义或对象定义的错误”。它打破了对标线错误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,他们要么没有工作(如取消保护片),或者他们没有做好充分的意义对我来说,实施。

我只是想打开一个现有的电子表格,并在其结尾添加一行新的值(而不对活动工作簿或活动工作表进行任何更改,而这些工作表正在由其他方式使用)。任何人有任何想法,我可以做些什么来使这个工作?

编辑:这是在一个子执行,它不在那里工作。

+0

适合我,没有问题。 –

+0

您将进入工作表的底部,然后在下面的行中设置一个值。 ...访问不存在的单元格 – jsotola

+0

@jsotola不会超出范围错误吗?我相信他在这里得到了一个不同的问题 – Maldred

回答

1

感谢jsotola的答案。

解决方法是用第一行填写第一行下方的行。我只是用' - '标记。

End(xlDown)移动到列中最后一个非空单元格,但是,如果它已经开始于列中最后一个非空单元格,它将跳过它找到的尽可能多的空单元格,直到它要么找到更多的非空单元格或命中表单的结尾。

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