
こんばんは。
タイトルの通り、1004エラーが出て苦戦しています。
タイトルのエラーはシート名がしっかり入力されてないと出るエラーのようですが、試行錯誤した結果、解決には至らなかったのでご教授頂けると幸いです。
Sub テスト()
Dim Ws As Worksheet
Dim A As Range
Set A = Range("A1").End(xlDown)
Set A = A.Offset(0, 18)
For Each Ws In Worksheets
Ws.Activate
Range("A1", A).Copy ⇒ここでエラー
Range("A30").PasteSpecial xlPasteAll
Next Ws
End Sub
For Eachを使い、すべてのシートに適用する事が目的です。
教えて頂きたい事は2つです。
①、sheet1以外をアクティブにしてマクロを回すと、最初からRange("A1", A).Copyで1004エラーが出ます。
②、sheet1をアクティブにしてマクロを回すとsheet1は実行されますが、sheet2に移った時に1004エラーが出ます。
よろしくお願いいたします。
No.6ベストアンサー
- 回答日時:
こんばんは。
下記で、どうでしょうか?
Sub テスト()
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.Activate
Range("A1:S" & Range("A1").End(xlDown).Row).Copy
Range("A30").PasteSpecial xlPasteAll
Next Ws
End Sub
1つ注意点としては、セルのA2にデータがないと、エラーになってしまう
様な気がします。
Range("A1:S" & Range("A1").End(xlDown).Row).Copy
⇒こんなやり方があるんですね…自分では思いつけなかったです。
ありがとうございます。動作確認いたしました。感謝いたします。

No.4
- 回答日時:
第1引数、第2引数共に変数にするのがスマートなのでは。
No.3
- 回答日時:
記述されているコードから何をしたいのか読み取れませんが
Range や Worksheets をいきなり書くのはダメです。
Worksheets は Workbook オブジェクトのインスタンスを指定する必要があります。
Workbook オブジェクトは ThisWorkbook.Worksheets や ActiveWorkbook.Worksheets 等、
操作しようとしている対象のインスタンスを指定します。
Range は Worksheet オブジェクトのインスタンスを指定する必要があります。
For Eachですべてのシートに何かするのであれば
そこで指定している Ws を指定することになるでしょうか。
Excelマクロは本来必要なものを省略しても半端に動いてしまうところがあり、それが罠のようになっていたります。
どのブックのどのシートに対しての処理なのか明示的に記述するようにしましょう。
ご回答ありがとうございます。
Range や Worksheets をいきなり書くのはダメです。
⇒そうなんですね。インスタンスという言葉も初めて聞きました。
どのブックのどのシートに対しての処理なのか明示的に記述するようにしましょう。
⇒ありがとうございます!明示的に記述するようにいたします。

No.2
- 回答日時:
Range("A1", A).Copy の場合、
省略されているものをそのまま指定すると
ActiveSheet.Range("A1", A).Copy になります。
つまり、”A1” はActiveSheet の[A1]であり、
第2引数の A は Ws.Activate を実行する前にActiveであった
Sheet1 の セルになります。
第1引数のセルのシートと
第2引数のセルのシートが異なるため
エラーになっています。
ご回答ありがとうございます。
ActiveSheet.Range("A1", A).Copy になります。
⇒ご説明ありがとうございます。勉強になります。
第1引数のセルのシートと
第2引数のセルのシートが異なるため
エラーになっています。
⇒こちらを回避するには、先にシートを明示すれば良いということでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
マクロの「Rangeメソッドは失敗しました’Globalオブジェクト」エラーの解決方法について
Excel(エクセル)
-
Worksheets メソッドは失敗しました。のエラー処理のやり方
Visual Basic(VBA)
-
VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー
Excel(エクセル)
-
-
4
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
8
'Range'メソッドは失敗しました
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
11
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
12
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
13
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
14
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
15
エラーコード1004
Visual Basic(VBA)
-
16
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
UserForm1.Showでエラーになります。
工学
-
19
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
20
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
Excelでスクロールすると文字が...
-
Excel / 出納帳の繰越の仕方...
-
複数シートの同じセル内容を1シ...
-
エクセルで、加筆修正したセル...
-
Office2021のエクセルで米国株...
-
Excelで複数シートの選択セルを...
-
ワードからエクセルのシートに...
-
ハイパーリンクでシートまで指...
-
エクセルについて
-
エクセルで1月0日と表示される!!
-
Excelシートの保護時にデータの...
-
エクセルで複写のように自動入...
-
エクセルで指定のセルのみ完全...
-
(Excel)あるセルに文字を入力...
-
エクセルで複数のシートの同じ...
-
VBAで、セル(Range)のオブジ...
-
Excelにて、カタカナだけのセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Office2021のエクセルで米国株...
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
Excelシートの保護時にデータの...
-
ExcelでTODAY関数を更新させな...
-
日付が未入力の際はゼロか、空...
-
Excelでスクロールすると文字が...
-
複数シートの同じセル内容を1シ...
-
エクセルで、加筆修正したセル...
-
EXCELのハイパーリンクのセルを...
-
マクロ 新しいシートにデータ...
-
エクセル ハイパーリンクで画像...
-
エクセルで複写のように自動入...
-
ハイパーリンク で『指定された...
-
別シートのセルを絶対参照にする
-
シート参照で変数を使いたい(EX...
-
エクセルで複数のシートの同じ...
-
EXCEL関数でシート名が変わる可...
おすすめ情報