• ベストアンサー

エクセルVBA 実行時エラーって出るんですけど・・・;;

いつもお世話になってます またまた質問載せさせていただきます。 マクロで2つのファイルをSaveasで各保存をした後に、 エクセルを閉じると、 実行時エラー'1004' WorksheetクラスのSelectメソッドが失敗しました と出るのです。 デバックボタンもグレーのままなので、デバックは使えないし、そのまま終了をかけると、エクセル自体が閉じられるので、 さっぱり何がなにやらって感じなのです。 どなたか分かる方いらっしゃいますでしょうか??

  • nanny
  • お礼率55% (72/129)

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

情報不足です。 複数のマクロがあって、何処に書かれているのでしょう? また、シート、ブックのイベントならそのイベントは? 標準モジュール? 各Sheet? Thisworkbook? > そのシートに組み込まれてるどんなマクロを動かしても、問題なく動くのです。 実行時の状態で変わる事がありますので、単体で上手くいっているから問題ないとは限りません。 Sub aaa()  Worksheets("Sheet2").Columns(1).Select End Sub 上記は Sheet2 がActiveだと上手くいきますが、そうじゃない場合は失敗(実行時エラー1004)します。

nanny
質問者

お礼

ごめんなさい・・・ よく見たら間違いの部分がありました・・・ これで何とかエラーも出ずに、何とかなりそうです。 色々ご返答ありがとうございました。

nanny
質問者

補足

マクロはすべて標準モジュールに書いています。 マクロはエクセルのボタンを使ってそのボタンにマクロ登録して動かしています。 Sub aaa()  Worksheets("Sheet2").Columns(1).Select End Sub こういった形のエラーですと、動かしたときに、マクロがとまりエラーが出ますよね、でさらに デバックボタンも有効になりますよね。 でも自分のは、マクロ動作は普通で閉じようとしたときのみ1004のエラーが出るのです・・・デバックも出てくれないし・・・;; その辺がどうも不思議でならないのです;;

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

どんなマクロを書いているのか提示されなければ、解らないとは思いませんか? Selectメソッドの失敗はSelect対象がActiveで無い場合に良く起こるものですが、、、 Thisworkbook の Workbook_BeforeClose あたりに何か書いてあるとか。

nanny
質問者

補足

マクロは長すぎるので乗せるの控えさせてもらったのです。 色々動きを試してみたのですが、そのシートに組み込まれてるどんなマクロを動かしても、問題なく動くのです。 ただマクロ実行後、右上のエクセル自体を閉じる×マークで閉じると、実行時エラーという表示が出るのです。 現在作業自体は、滞りなく動いていて、ただ閉じるときにちょっと邪魔といったような感じなのですが・・・;;

関連するQ&A

  • Excel2007 実行時エラー1004

    宜しくお願い致します。 Excel2003環境時に作成したマクロを2007環境で動作させると実行時エラー1004が返ってきます。 対策をお教えいただきたくお願いします。 (1)Excelで表作成 (2)作成した表を所定パスにText形式で保存するマクロを実行  【Excel2003でのソース】 ActiveWorkbook.SaveAs filename:=(ファイルパス) & ".txt" _ , FileFormat:=xlText (3)FileFormatの箇所で実行時エラー1004(SaveAsメソッドは失敗) Excel2007で上記部分に下位互換市内部分が含まれているのだとおもいますが、対策が全く分かりません。 お知恵をお借りしたくお願いします。

  • エクセル2000VBAからの印刷で実行時エラー1004発生

    エクセル2000のVBAマクロ中で印刷をしよう として、実行時エラー1004が発生し、原因が分からず 苦慮しています。 (前略) Sheets("ラベル印刷").Select ... ActiveSheet.PageSetup.PrintArea = "$A$1:$B$2" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True を実行すると、WorksheetクラスのPrintOutメソッドが 失敗しましたというエラーがでます。 色々試して、 Worksheets("ラベル印刷").Activate ActiveSheet.PrintOut とやってみたり、シートの名称をデフォルトのSheet1に 戻したりしても同様でした。 同じモジュール中で、 Sub printtest()   Worksheets("ラベル印刷").PrintOut End Sub というのを記述して、VBAエディター中で実行ボタン (▼)で実行したり、ワークシートのツール/マクロの 実行から実行すると問題なく印刷できます。 ところが、マクロを改造してこのサブルーチンをコールする ようにすると、上と同様の現象が出ます。 別のPCで試みても再現されました。 他の部分は完成したつもりなのに、印刷が出来ず困っております。 アドバイスお願いします。

  • エクセルVBA 非表示シートがあるとエラー

    VBA初心者です。 エクセル2007を使用しております。 同一ブック内にある全てのシートで特定のマクロ(下記の例では×××)を実行するようにVBAマクロを個人用マクロブック上に作成しております。 Sub シート一括処理() Dim Sht As Worksheet For Each Sht In Worksheets Sht.Select Call ××× Next Sht End Sub ブック内に非表示シートがあった場合、エラーとなります。 ===================== 実行時エラー'1004' 'select'メソッドは失敗しました: ===================== 下記のような要件を満たすにはどのように修正すればよいでしょうか。 ・非表示シートに対しても、×××マクロは適応したい。 ・非表示シートは暫定的に表示してもよいが、最終的には非表示の状態にしたい。 よろしくお願いします。

  • EXCEL VBA SaveAsメソッドについて

    お世話になります。 現在、ネットワーク内の2サーバー間でvbsを使用してExcelピボットを更新して別名で保存する処理 を作成しています。この時、Server1からExcelマクロ実行用のvbsをキックしてServer2のExcel マクロ内のSaveAsメソッドを実行してExcelを別名で保存すると、 作成されるべきファイルと拡張子無しの16進数のようなファイル名のファイルが2つ出来上がってしまいます。 Excelのバージョンは2003でServer2のExcelマクロを手動で実行した場合はこのようなことは発生しませんでした。 どなたか原因がわかる方がいればご教示いただきたく存じます。 何卒よろしくお願いいたします。

  • なぜエラーになるのかわかりません。

    コードとしては問題ないはずなのに なぜエラーになるのかわかりません。 Private Sub Worksheet_Activate() Cells(1, 1).Select End Sub というコードで、 実行時エラー1004 rangeクラスのselectメソッドが失敗しました。 となります。

  • エクセル共有化のトラブル

    マクロを含むエクセルファイル(AUTO_OPEN()で起動)を共有化したところ、「実行時エラー'1004:Worksheetクラスの Unprotectメソッドが失敗しました。」という表示が出て、止まってしまいます。共有化する前は問題なく動いていたのですが、何が原因なのか、教えてください。よろしくお願いします。

  • エクセルに関する質問です。

    エクセルに関する質問です。 マクロである原本となるシートをどんどんコピーしてシートを追加していったのでですが、「実行時エラー 1004 worksheetクラスのcopyメソッドが失敗しました」の表示がでてコピーできなくなりました。最大枚数の256枚にも達しておらず、マクロではない通常の操作でもシートの追加が不可能になりました。解決方法はあるでしょうか。エクセル2000です。

  • VBA エクセル2003だと出るエラー

    VBAはじめたばかりですが、宜しくお願いいたします。 エクセル2000ではエラーがでませんが、2003の場合次のようなエラーがでます。 実行時エラー1004 アプリケーション定義またはオブジェクト定義エラーです 「デバック」を押して、コードをみますと、次の行に黄色いマーカーがつきます。 Sheets("TXT").SaveAs FileFormat:=xlCurrentPlatformText, Filename:=ThisWorkbook.Path & "\今月.txt" マウスオーバーすると、次の2つが表示されます。 xlCurrentPlatformText= -4158 ThisWorkbook.Path ="C:\Document&【現在このファイルがあるパス】" 解決方法はありますでしょうか。 ご存知の方、いらっしゃいましたら、なにとぞ宜しくお願いいたします。 このマクロの実行目的は、あるエクセルファイルを加工して、最終的にテキストファイルを生成することです。 テキストファイルをつくったあと、保存するタイミングでエラーがおきるようです。

  • 実行時エラー -'-2147417848

    エクセルがおかしいです。 ファイルが壊れてるのでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) Range("a2") = Empty Range("a3") = Empty という、単純なコードなのですが イベントが発生すると 「メモリ不足です。完全に表示できません。」となったり、 実行時エラー -'-2147417848(80010108) '_default'メソッドは失敗しました 'range'オブジェクト となります。 Range("a2") = Empty の部分で発生します。 そして強制終了され、再起動されます。 コードとしては問題ないですよね? バージョンは2010です。

  • VBAで実行時エラー1004が出ます

    VBAで実行時エラー1004が出ます。 「Rangeメソッドは失敗しました。Worksheetオブジェクト」です。 あらゆる可能性を調べたのですが、分かりません。誰か教えて頂けますでしょうか? 下記コードの「Cells(m, 7) =・・・」の部分がエラーになりました。 Sub ボタン1_Click() Dim 現シート As Worksheet ~ 現シート.Activate Cells(m, 7) = WorksheetFunction.VLookup(現シート.Range(現シート.Cells(m, 4)).Select, 現シート.Range(現シート.Cells(4, 104), 現シート.Cells(15, 107)).Select, 4, False) ~ End Sub 何卒宜しくお願いいたします。

専門家に質問してみよう