Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13825 / 76738 ←次へ | 前へ→

【68415】Re:検索値を指定して一致した行をコピー
発言  kanabun  - 11/3/3(木) 14:51 -

引用なし
パスワード
   ▼ののか さん:

>複数シートのC列に検索値AAでフィルタをかけるってどうすればいいですか?
>複数のシートを選択してオートフィルターかけれませんが・・・。

言葉足らずでしたが、もちろん複数シートに<一括で>フィルタをかける
ということではありません。
対象シート(「2004」〜「2010」)をループして順にフィルタをかけ、
抽出行を「AA」シートに転記していく、という意味です。

'--------------------- 標準モジュール
Option Explicit
Sub AAの抽出転記_AutoFilter()
dim AAsheet as worksheet
dim ws as worksheet

set AAsheet = ActiveWorkbook.Worksheets("AA")'転記先シート
For Each ws in ActiveWorkbook.Worksheets
  if isnumeric(ws.Name) then
    with ws.cells(1).currentregion
     .Autofilter 3, "AA"
     if .Columns(1).SpecialCells(xlVisible).Count>1 then
       .Copy AAsheet.cells(rows.count,1).end(xlUp).offset(1)
     end if
     .Autofilter
    end with
  end if
next
End Sub


>AdvancedFilterってなんですか?
メニュー[データ]-[フィルタ]のサブメニューに
 ・ オートフィルタ
 ・ フィルタオプションの設定
ってありますよね?
後者が AdvancedFilter のことです。

AutoFilter は 対象シート上で条件に合わない行を隠す(非表示にする)
機能なので、別シートへ転記するには元表にフィルタをかけてから
全範囲をCOPYして転記先シートへ送らないといけないですが、

AdvancedFilter(フィルタオプションの設定)機能を使えば、
抽出と転記を同時にやってくれますので、画面がチラついたりする
ことなく処理が早く済みます。
ただ、抽出条件をセルのどこかに書いておかないといけないので、
とりあえずAutoFilterで処理してみて、AutoFilterでできないことはないが
より速く処理したい、という要求が高まってから挑戦してもいいかな?
と思ってました。

#neptune さん、フォローありがとうございます。

0 hits

【68407】検索値を指定して一致した行をコピー ののか 11/3/3(木) 10:50 質問
【68409】Re:検索値を指定して一致した行をコピー kanabun 11/3/3(木) 11:45 発言
【68410】Re:検索値を指定して一致した行をコピー ののか 11/3/3(木) 12:48 発言
【68412】Re:検索値を指定して一致した行をコピー ののか 11/3/3(木) 13:42 質問
【68414】Re:検索値を指定して一致した行をコピー neptune 11/3/3(木) 14:43 発言
【68415】Re:検索値を指定して一致した行をコピー kanabun 11/3/3(木) 14:51 発言
【68417】Re:検索値を指定して一致した行をコピー ののか 11/3/3(木) 15:30 質問
【68418】Re:検索値を指定して一致した行をコピー kanabun 11/3/3(木) 16:38 発言
【68419】Re:検索値を指定して一致した行をコピー ののか 11/3/3(木) 17:28 お礼
【68416】Re:検索値を指定して一致した行をコピー kanabun 11/3/3(木) 15:17 発言

13825 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free