質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

2566閲覧

VBA オートフィルター結果をコピーできません。

akintat-2748

総合スコア25

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/10/31 22:28

こんにちは。VBA初心者です。

VBAのオートフィルターについて1つ教えていただきたいことがあります。

エクセルシートにあるデータをオートフィルターにかけて、その結果を既存の別のシート(ここでは「初回」)にコピーするという作業をしています。

具体的に実現したいことは
1,Field:=30の値が120以上の物を抽出し、「初回」シートにコピー。
2,Field:=32の値が19以上の物を抽出し、「初回」シートの1,の結果の次の行から追加でコピー。
3,Field:=22の値が80以上の物を抽出し、「初回」シートの2,の結果の次の行から追加でコピー。

このような形で、フィルターをかけてどんどん別シートに追加していきたいです。

調べ持って以下のコードを記載しましたが、1,までは行くのですが、その先がコピーされません。

初心者ですので、コードは醜いですが、アドバイス頂けたらと思います。

ちなみにパソコンはMACを利用しています。

VBA

1Private Sub CommandButton12_Click() 2 3 Dim Target As Range, LastCell As Range 4Set Target = Sheets("初回").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 5 6 Range("A1").AutoFilter Field:=30, Criteria1:=" <=120" 7Range("A1").CurrentRegion.Copy Target 8ActiveSheet.AutoFilterMode = False 9 10Range("A1").AutoFilter Field:=32, Criteria1:=" >=19" 11Range("A1").CurrentRegion.Copy Target 12ActiveSheet.AutoFilterMode = False 13 14Range("A1").AutoFilter Field:=22, Criteria1:=" >=80" 15Range("A1").CurrentRegion.Copy Target 16ActiveSheet.AutoFilterMode = False 17 18End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

オートフィルターで絞込後、SpecialCells(xlVisible) にて正しい範囲を選択できます。
次に、コピー先シートのセル位置は、コピー前に都度指定する必要がありそうです。

VBA

1Range("A1").CurrentRegion.SpecialCells(xlVisible).Copy 2'Range("A1").CurrentRegion.Copy

投稿2020/10/31 23:08

TanakaHiroaki

総合スコア1063

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akintat-2748

2020/11/01 01:28

コメントありがとうございます。 コピー先のシートのセルの位置はTaget で最終行に入るようにしてしているつまりなんですが、間違っているでしょうか?
TanakaHiroaki

2020/11/01 01:35 編集

Tagetはその時点データで判定した最終行なので、コピーでデータを変更した場合には再指定が必要と思われます。
akintat-2748

2020/11/01 01:40

ありがとうございます。その都度、指定のコードを入れたら無事に思い通りに動きました! 丁寧にありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問