こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBAで実行時エラー 1004 がでる

Excel2013です。以下のコードでエラーがでます。
どのシートがアクティブでもデータを閉じる時に特定のシート(sheet1)のA行の最終行の一つ下をアクティブにし上書き保存して閉じるようにしたいです。
以下記述したコードです。

Sub Auto_Close()

Worksheets(1).Activate

Range("A60000").End(xlUp).Offset(1).Select 'Aセル60000から最終行のセルの一つ下に下がる

ActiveWorkbook.Save

End Sub

閉じるときは問題ないのですが、開いたときにエラーがでます。
以下エラー文です。

実行時エラー 1004
'Worksheets'メソッドは失敗しました'_Global'オブジェクト


どこを直せばいいのでしょうか?
アドバイス願います。

投稿日時 - 2014-08-03 13:46:24

QNo.8702811

困ってます

質問者が選んだベストアンサー

A_No.1です。

間違えました。
Sub Auto_Close()

Dim myRow As Long

Worksheets(1).Activate
myRow = Cells(Rows.Count, "A").End(xlUp).Row
Range("A" & myRow).Offset(1).Select
ActiveWorkbook.Save

End Sub

です。

投稿日時 - 2014-08-03 17:17:46

お礼

ご回答ありがとうございます。

いただいたコードで問題なく実行することができました。

どこが原因だったのかが自分でわかっていないのが気持ち悪いですが後でよく調べたいと思います。

投稿日時 - 2014-08-04 08:22:29

ANo.2

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こちらで試してみましたがエラーはでないようですが。

Sub Auto_Close()

Worksheets(1).Activate

Cells(Rows.Count, "A").End(xlUp).Row.Offset(1).Select 'Aセル60000から最終行のセルの一つ下に下がる

ActiveWorkbook.Save

End Sub

としてはどうでしょうか。

投稿日時 - 2014-08-03 14:20:36

あなたにオススメの質問