マクロが実行できません

このQ&Aのポイント
  • マクロを実行するとエラーが発生し、実行時エラー'1004'が表示されます。
  • 特に、「一覧作成.xlsm'!日付取り込み」のマクロが黄色でハイライトされ、エラーが発生しているようです。
  • 他のマクロは正常に実行できるのに、なぜ「一覧作成.xlsm'!日付取り込み」だけがエラーになるのか原因がわかりません。
回答を見る
  • ベストアンサー

マクロが実行できません

マクロを実行すると以下のエラーが表示されます --------------------------------------- 実行時エラー'1004': マクロ一覧作成.xlsm'!日付取り込み"を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。 --------------------------------------- 「デバッグ」をクリックすると、以下の箇所が黄色でハイライトされます。 --------------------------------------- Sub まとめて実行() Application.Run "'一覧作成.xlsm'!data00取り込み" Application.Run "'一覧作成.xlsm'!data01取り込み" Application.Run "'一覧作成.xlsm'!data02取り込み" Application.Run "'一覧作成.xlsm'!data03取り込み" Application.Run "'一覧作成.xlsm'!data04取り込み" Application.Run "'一覧作成.xlsm'!data05取り込み" Application.Run "'一覧作成.xlsm'!data06取り込み" Application.Run "'一覧作成.xlsm'!data07取り込み" Application.Run "'一覧作成.xlsm'!data08取り込み" Application.Run "'一覧作成.xlsm'!data09取り込み" Application.Run "'一覧作成.xlsm'!data10取り込み" Application.Run "'一覧作成.xlsm'!data11取り込み" Application.Run "'一覧作成.xlsm'!data12取り込み" Application.Run "'一覧作成.xlsm'!data13取り込み" Application.Run "'一覧作成.xlsm'!data14取り込み" Application.Run "'一覧作成.xlsm'!data15取り込み" Application.Run "'一覧作成.xlsm'!data16取り込み" Application.Run "'一覧作成.xlsm'!data17取り込み" Application.Run "'一覧作成.xlsm'!data18取り込み" Application.Run "'一覧作成.xlsm'!data19取り込み" Application.Run "'一覧作成.xlsm'!data20取り込み" Application.Run "'一覧作成.xlsm'!日付取り込み"    <-----ここが黄色になります Range("a265").Select End Sub --------------------------------------- 黄色でハイライトされたマクロの中身は以下の通りです。 --------------------------------------- Sub 日付取り込み() ' Sheets("data00").Select Range("a2:a400").Select Selection.Copy Sheets("一覧").Select Range("a4").Select ActiveSheet.Paste Application.CutCopyMode = False Range("a258").Select End Sub --------------------------------------- 他のマクロ(「一覧作成.xlsm'!data01取り込み」など)は実行できるのに、最後の 「一覧作成.xlsm'!日付取り込み」のところでエラーになるようですが、どうして エラーになるのか分かりません。どうか教えていただけないでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

コード自体には特に問題点はないと思われます。 「一覧作成.xlsm」ブックの一行目辺りで、ブレークポイントの設定を行って、「日付取り込み」マクロの具体的にどの辺でエラーになっているのか、確認したほうがいいでしょう。 あと、以下のような現象もあるので、全角マクロ名は避けたほうがいいかもしれません。 http://support.microsoft.com/kb/2297924/ja

marimo_0
質問者

お礼

ご回答、ありがとうございます。 マクロ名に全角を使うのは良くないのですね。気にせずに全角でマクロ名をつけていました…。今までは運よく、エラーが出なかっただけなのでしょうね。 「日付取り込み」マクロを「hizuke取り込み」という名前に変更した結果、うまくいきました。 ありがとうございました!

その他の回答 (1)

回答No.2

「まとめて実行」のコード中、「"'一覧作成.xlsm'!data00取り込み"」その他は、シングルクォーテーションを除去し、「"一覧作成.xlsm!data00取り込み"」として大丈夫なはずです。 「まとめて実行」各行のシングルクォーテーションや、ダブルのほうのクォーテーションの個数は、どうなっていますか。クォーテーション以外の文字列(マクロ名)は、呼び出すほうと呼びだされるほうで、完全に一致していますか。また、お示しのエラーメッセージは実際のものと厳密には異なっているはずですが、正確なメッセージはどうなっていますか。

marimo_0
質問者

お礼

ご回答、ありがとうございます。 シングルクォーテーションをすべて外したり、1つ目のマクロだけにシングルクォーテーションをつけたりなど試してみましたが、同じところでエラーが出てしまいます…。 おっしゃる通り、エラーメッセージの転記ミスでした。申し訳ありません。 -------------------------------------- (誤)マクロ一覧作成.xlsm'!日付取り込み"を実行できません。 (正)マクロ '一覧作成.xlsm'!日付取り込み"を実行できません。 -------------------------------------- もう少し、いろいろ試してみたいと思います。 ありがとうございました。

関連するQ&A

  • 他ブックを実行するマクロ

    あるexcelファイル(ブック名「自動操作.xlsm」)からべつのexcelファイル(ブック名「a.xlsm」)というファイルを実行するマクロを組んでいます。 Application.Runを用いて「自動操作.xlsm」のコードを以下のように記述しました。 ※「\」は半角の円マークだと考えてくれればいいです。ここで半角の円マークをかいても\と表示されます。また、自動操作とaは同じディレクトリにあります。 Sub Test1() Application.Run "'C:Users\ディレクトリ名\a.xlsm'!test" End Sub また、「a.xlsm」は以下のように記述しました。 Sub test() Dim i As Integer For i = 1 To 5 '移動元ファイルパスの設定 Cells(i, 1) = i Next End Sub ただ1~5行にその行数を記入するマクロです。 a.xlsmを開いた状態でこれを実行すると、「アプリケーション定義またはオブジェクト定義のエラーです」とでます。 a.xlsmを閉じた状態で実行すると、「このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります」とでます。 いったいなにを間違えているのでしょうか。

  • マクロの記録で作ったのですが、バックヤードで可動するようにできないでしょうか?よろしくお願いします

    下記のマクロを記録で作成したのですが素人のためこれ以上がわかりません。 やりたいことは、バックヤードで可動するようにしたいのと、 (現在はシートが移動したりマウスを動かすと読み込む時間がずれます) 実行間隔を任意で指定したセルから実行間隔を取得したいのですが。 よろしくお願いします。 下記のマクロはデータロガーから信号を定期的に記録でするにしてあります。 Sub Macro2() ' Sheets("表示").Select Range("B10:D10").Select Selection.Copy Sheets("DATA").Select Range("A1").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False Selection.Insert Shift:=xlDown If Range("J8").Value = 999 Then Application.Run "ストップ3" Else Application.Run "Macro3" End If End Sub Sub Macro3() Sheets("DATA").Select Range("J8").Select Selection.ClearContents 実行間隔 = Now + TimeValue("00:00:05") Application.OnTime TimeValue(実行間隔), "Macro2" End Sub Sub ストップ3() Sheets("DATA").Select Range("J8").Value = 999 End Sub

  • マクロの実行について 質問です。

    マクロ勉強中です! 何時間も調べておりますが、 どうしても分からないので お教え下さい(;_;) 別シートの都道府県が混在するデータの中から、 3列の付属語が『下関』のものだけをコピーして、シート1に貼り付けるマクロを マクロの記録で 『下関』 というタイトル?にして作りました。(下記) これを実行するときに、マクロ名からではなく、 下の表の R3C8セルの、『下関』 というハイパーリンクをクリックで 実行される・・・・ そんなふうにするには、どうしたらいいのでしょうか? ご回答を おまちしております。よろしくお願いします! Sub 下関() ' ' 下関 Macro ' ' Keyboard Shortcut: Ctrl+a ' ActiveWindow.SmallScroll Down:=-9 Range("B3").Select ActiveWindow.SmallScroll Down:=117 Range("B3:F137").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp ActiveWindow.SmallScroll Down:=-9 Range("H3").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True Selection.Copy Sheets("Sheet1").Select Range("B3").Select ActiveSheet.Paste Range("C3").Select End Sub

  • マクロの中でマクロを実行中に中止させたい

    マクロの中で別のマクロを実行して、それをループさせてます 中のマクロで問題があったとき外のマクロ自体を停止させるのはどうすればいいのですか? Sub A() Do Application.Run "I" Application.Run "II" Loop End Sub ここから マクロIの途中で何らかの条件が合えば、 マクロAを終了するにはどうすれば良いのですか?

  • VBA_マクロ内でマクロ実行

    独学でVBAをやってる初心者です。 よろしくお願いします。 EXCEL2003を使ってます。 例) <A.xlsファイル> Sub File_A () Workbooks.Open Filename:="B" Call File_B Range("A1").Select Selection.Paste End Sub <B.xlsファイル> Sub File_B () Range("A2:T5").Select Selection.Copy End Sub A.xlsファイルを開きマクロFile_Aを実行させると B.xlsファイルのマクロFile_Bを実行することができません。 どうしたらうまく実行できますか? 教えてください。

  • 【エクセル VBA マクロ】

    シートAの日付を確認してデータをコピーし、シートBの該当する日付の列に売り上げを貼り付けるというマクロを組みたいです。 他の方達のを参考にしながら作成しましたが、実行をすると「エラー1004」 Matcheプロパティが見つからないというエラーが出ます。 どなたか原因と対策を教えてください。 Sub() Sheets("シートA").Select Range("J3:J10000").Select ※売上データ Selection.Copy 検査値 = Range("R2").Value ※日付データ Sheets("シートB").Select Set 検索範囲 = Range("J4:AN4") ※日付データ 列 = Application.WorksheetFunction.Match(検査値, 検索範囲, 0) Cells("4, 9" + 列).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,SkipBlanks:False, Transpose:=True End Sub

  • 指定した時間に実行するマクロ

    Sub データー削除() Sheets("Sheet2").Select Rows("3:17").Select Selection.ClearContents Range("A1").Select ActiveWorkbook.Save ActiveWorkbook.Close End Sub データーAというエクセルBOOKに 上記の単純なマクロが組み込まれています このBOOKは普段は常に閉じている状態です このBOOKがAM0:00に自動で開いて上記のマクロの実行できるように するにはどの様にしたらいいでしょうか? on timeとかいう方法を使うらしいでんすが使い方がよくわかりません

  • 実行されません

    サイトを見てエクセルのマクロを勉強しているのですが、どうしてもうまく実行されないマクロがあります。 ここから ↓ -------- Sub A1選択() Range("A1").Select End Sub Sub B2選択() Range("B2").Select End Sub Sub C3選択() Range("C3").Select End Sub Sub E4選択() Range("E4").Select End Sub ------ 終了 です。 ツールからマクロを選択するとマクロのダイアログボックスがでます。そうするとC3選択の所だけ実行ボタンが切り替わりません。原因もわかりません。 ちなみにサイトはhttp://www.sanynet.ne.jp/~awa/excelvba/kouza.html です。 OSはWinME  エクセル2000です。

  • エクセル2007マクロ シート間のセルコピー

    [Sheet1]にあるデータを[Sheet2]にコピーするマクロボタンを[Sheet2]に作りたいのですが、マクロがよく分からないので、「マクロの記録」で作成してみました。 Sub siken() ' ' siken Macro ' ' Sheets("Sheet1").Select Range("A1").Select Selection.Copy Sheets("Sheet2").Select Range("A1").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B3").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B3").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B6:D6").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B6").Select ActiveSheet.Paste End Sub (実際はもっと多くのセルをコピーします) マクロを実行すると、ちゃんとコピーできるのですが、セルをコピーする都度[Sheet1]と[Sheet2]が交互に表示されます。 コピー元の[Sheet1]を表示させずにマクロを実行させるにはどのようにしたらよいのでしょうか? よろしくお願いします。

  • Application.Run実行時にエラー

     Excelファイルのマクロで、デスクトップ上の別ファイル「test.xlsm」のマクロ「Macro2」を実行させるため、以下のマクロを作成し実行したところ、 以下のエラーメッセージが出て正常動作できませんでした。 何が原因でしょうか? なお、Macro2は単独で実行した場合は正しく動作しています。 よろしくお願いします。 [作成したマクロ] Sub Macro1() Application.Run "C:¥Users¥****¥Desktop¥test.xlsm!Macro2" End Sub [エラーメッセージの内容] 実行時エラー’1004’ マクロ"C:¥Users¥****¥Desktop¥test.xlsm!Macro2"を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。

専門家に質問してみよう