• ベストアンサー

エクセルについて

エクセルについて フィルタオプションの設定にて、抽出したものを、他のシートに貼り付けるマクロなのですが、 下記のエラーとなってしまいます。 なぜでしょうか。

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

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.6

>Sheets("マップ").PasteSpecial (xlPasteAll) こちらでも同じエラーですか? 当方ではエラーなく通るのですが・・・ 標準モジュールですよね? 差し支えなければソースをあげて、どこで落ちたか教えてもらえますか?

a26vNvvub
質問者

お礼

あらゆる角度からご検討いただきありがとうございます。 別の問題も絡んでいる可能性があると思いますので、 再度、検討します。 感謝しております。

その他の回答 (5)

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.5

うーんと・・・記述は標準モジュールですかね? ちょっと適宜変更はお願いします^^; >Me.Range("E5").PasteSpecial (xlPasteAll) を、 Range("E5").PasteSpecial (xlPasteAll) に変更して下さい。 もしくは Sheets("マップ").PasteSpecial (xlPasteAll) で。

a26vNvvub
質問者

補足

今度は、インデックスが有効範囲にありませんエラーが出ます。 でも、エラーメッセージが変わった分、進んだような気がします。 引き続きよろしくお願いします。

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.4

ダメですか・・。 では、 >Selection.Copy >Sheets("マップ").Select >Range("E5").Select >ActiveSheet.Paste ← ここでエラーになります。 >Range("H4").Select >Sheets("data").Select 部分を Sheets("data").Select Columns("A:J").Copy Sheets("マップ").Select Me.Range("E5").PasteSpecial (xlPasteAll) Range("H4").Select Sheets("data").Select にしてみてはいかがです?

a26vNvvub
質問者

補足

Meキーワードの使用方法が不正です。 のエラーがでました。

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.3

#2です。 >Sheets("output").Select >Range("A1").Select >ActiveSheet.Paste ここで一回ペーストして、なお >Selection.Copy >Sheets("マップ").Select >Range("E5").Select >ActiveSheet.Paste  で別シートにペーストですか? 二回目のSelection.Copyの対象がSheets("output").Range("A1")になっているようですが、これは正しいですか? 仮に正しいとした場合、Sheets("output").Range("A1")の値はSheets("data").Columns("A:J")と同値になりますから、 二回目のSelection.Copyの前に Sheets("data").Select Columns("A:J").Select Selection.Copy を入れてみてください。 (前略) Columns("A:J").Select Selection.Copy Sheets("output").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False Sheets("data").Select  '追加 Columns("A:J").Select  '追加 Selection.Copy '追加 Selection.Copy Sheets("マップ").Select Range("E5").Select (後略)

a26vNvvub
質問者

補足

残念ながら やはり同じエラーが出てしまいます。

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.2

コピー元もしくはコピー先のセルが結合されていませんか?(特にコピー元が怪しいです。) もしくは、両方ともセルが結合されている場合、結合セル数は同数ですか? 別面から、セルのコピー元・コピー先の指定を、Range("A1:A3")のように範囲指定してしまっていませんか? 例えばA1~A3セルが結合されている場合、指定はA1だけでいいです。

a26vNvvub
質問者

補足

失礼しました。 マクロは下記のとおりです。 Sheets("data").Select Columns("A:J").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Sheets("マップ").Range("E2:N3"), Unique:=False Columns("A:J").Select Selection.Copy Sheets("output").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.Copy Sheets("マップ").Select Range("E5").Select ActiveSheet.Paste ← ここでエラーになります。 Range("H4").Select Sheets("data").Select Application.CutCopyMode = False ActiveSheet.ShowAllData Sheets("マップ").Select Application.ScreenUpdating = True End Sub

noname#111181
noname#111181
回答No.1

ご質問の状況だけではよく分かりませんが、次のことが考えられます。 1.コピー元ないしはコピー先のシートに連結セルがある。 2.そもそもコピー元とコピー先の領域のサイズ指定が異なる。

関連するQ&A