2017-10-20 52 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開始,之後沒有任何東西,因此,它並沒有停留在它開始的位置(我認爲它會這樣做),而是跳到了表格的底部。然後我偏移到表單外的一個不存在的單元格,從而給我錯誤。