こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelマクロでオートフィルターからコピペ

ファイルのB列の値から0以外の値をオートフィルターで抽出し、値を、別のファイルのD列の一番下に貼りつけるマクロを作っていますがうまくいきません。

今作ったのは


Sub macro1()

If ActiveSheet.AutoFilterMode = False Then
Range("A:G").Select
Selection.AutoFilter
Else
Selection.AutoFilter
Range("A:G").Select
Selection.AutoFilter
End If


Selection.AutoFilter Field:=2, Criteria1:="<>0", Operator:=xlAnd
Range("A1").Select
Range("B2", Range("B2").End(xlDown)).Select
Selection.Copy

Windows("貼りつけるファイル名").Activate
Cells(Rows.Count, 4).End(xlUp).Offset(1).Select
ActiveSheet.Paste


End Sub

です。

フィルターで0以外の値を抽出しコピーまではできていますが、貼りつけるところでエラーがでます。


Microsoft Visual Basic

400


というエラーです。

何が悪いのか分かりません・・・。
分かる方いましたらご教授ください。よろしくお願いします。

投稿日時 - 2011-06-23 16:47:57

QNo.6830118

困ってます

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

こんばんは!
お役に立てるかどうか判りませんが・・・

貼り付けるBookのSheetを指定してはどうでしょうか?

>Windows("貼りつけるファイル名").Worksheets("sheet1").Activate

といったような感じで。

的外れならごめんなさいね。m(_ _)m

投稿日時 - 2011-06-23 19:44:10

補足

返答ありがとうございます。

やってみましたが、駄目でした・・・。

投稿日時 - 2011-06-23 21:58:52

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Windows("貼りつけるファイル名.xls").Activate
のように拡張子を入れたらどうなりますか?
(2007以降なら拡張子も変わっていますが。)

投稿日時 - 2011-06-23 17:22:14

補足

すいません、元のコードには拡張子は入っています。

分かりやすく変えたつもりだったのですが…。

投稿日時 - 2011-06-23 17:57:43

あなたにオススメの質問