2017-10-20 8 views
0

次のコードを実行すると、「実行時エラー '1004':アプリケーション定義またはオブジェクト定義エラー」というエラーが表示されます。それは私がエラー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 

を破ります。

既存のスプレッドシートを開き、その行の最後に新しい値の行を追加するだけです(アクティブなワークブックや現在アクティブなワークシートに変更を加えることなく)。誰にでも私はこれを動作させるために何ができるのか考えていますか?

EDIT:これはサブで実行されており、そこでは機能しません。

+0

は問題なく動作します。 –

+0

ワークシートの一番下にある行の値を設定します。 ...存在しないセルにアクセスする – jsotola

+0

@jsotola範囲外のエラーではないでしょうか?私は彼がここで別の問題を起こしていると信じています – Maldred

答えて

1

答えのjsotolaに感謝します。

解決策は、行1の下の行を何かで埋めることでした。私はちょうど ' - 'マークを使用しました。

End(xlDown)は列の最後の空でないセルに移動しますが、列内の最後の空でないセルから既に開始されている場合は、空のセルが見つかるまでスキップしますより多くの空でないセルを見つけたり、シートの最後に当たる。

A1からは、それ以降は何もなかったので、開始位置(私が想定したもの)にとどまるのではなく、シートの一番下にジャンプしました。私はシートの外側に存在しないセルにオフセットしていたので、エラーが出ました。

関連する問題