- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:実行時エラー 1004 Rowsメソッドは失敗しま)
Excel VBA実行時エラー1004の解決方法とは?
このQ&Aのポイント
- Excel VBAを使用してファイルを開き、Rowsメソッドを実行する際に、実行時エラー1004が発生することがあります。
- このエラーは、2回目の実行時にグローバルオブジェクトが解放されるために発生します。
- 解決策としては、コードの最後で使用したオブジェクトを解放することなどがあります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一回目が無事終了した後でタスクマネージャのプロセスタブで確認すると 無いはずのExcelプロセスがありませんか? http://hanatyan.sakura.ne.jp/vbhlp/ExcelErr.htm どこで発生しているのか突き止められませんでしたが下記では解消しました。 Sub tsetN1() Dim int行数 As Integer Dim xlApp As Object 'Excel.Application Dim xlWbk As Object 'excel.workbook Dim xlSht As Object 'excel.worksheet Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Set xlWbk = xlApp.Workbooks.Open("c:\tmp\test.xlsx") Set xlSht = xlWbk.Sheets(1) 'xlApp.Sheets(1).Select int行数 = xlSht.Cells(xlSht.Rows.Count, "A").End(xlUp).Row Set xlSht = Nothing xlWbk.Close: Set xlWbk = Nothing xlApp.Quit: Set xlApp = Nothing End Sub なお、せっかくExcelに参照設定をしているのでしょうから 変数の宣言はコメントの方に変えられた方が良いかな?と。 それとWindows Vista 以降はUAC?によってCドライブ直下は制約がありますので 避けた方が無難です。
お礼
ご回答ありがとうございます。