• ベストアンサー

エクセル フィルタ オプションを使い別シートへ結果を抽出したいのですが。

お尋ねいたします。 EXCEL2003を利用しています。 フィルタオプションでの抽出先を別シートに指定したいと思います。 名前の定義づけをつかうのでしょうか。 できれば名前の定義なしで別シートを抽出先として指定したいのです。 どうか教えてください。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

出力するシートを開いた状態で 「データ」「フィルタ」「フィルタオプションの設定」 抽出先を「指定した範囲」を選択 リスト範囲に元になるシートの表の範囲を選択 抽出条件範囲に条件を設定した範囲(現在のシート上でも、別シートでも可) 指定した範囲に現在のシートのセル(このセルが抽出した表の左上になります) これでOKすれば抽出できます。 ※リスト範囲のシート名は毎回選択しなおしが必要です。

wakudo
質問者

お礼

ありがとうございました。 細かい指示をご提示いただき助かりました。 おかげで処理が無事行えました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#1のご回答と似たことになりますが マクロの記録を取ると、フィルタオプションは Sub Macro1() Sheets("Sheet1").Range("A1:A10").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("C1:C2"), CopyToRange:=Range("A1:A9"), Unique:=False End Sub になりますが、シート名の付いてないセル範囲はアクチブシートのセル範囲を示します。 ですから結果を出したいシートをアクチブにして、上記を実行すれば アクチブシートに結果が出ます。 アクチブシートには項目見出しが必要ですが。 上記の抜き出し条件もアクチブ以外でも、シート名を添えてそれを指定すれば結構です。 Sub Macro1() Sheets("Sheet1").Range("A1:A10").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheet4.Range("C1:C2"), CopyToRange:=Range("A1:A9"), Unique:=False End Sub のように。 マクロの記録と操作は、表裏一体なので、手操作でも上記のことが通用します。

wakudo
質問者

お礼

ありがとうございました。 #1様と#2様のご説明により 処理は行うことができましたが 逆になぜ?という疑問を持っておりました。 その理由づけを明記していただいたことにとても感謝しております。 わからないことが1つ解決すると当たり前ですが嬉しいです。 がなぜ?とまたまた疑問をもってしまうことが多々ございます。 本当に頭がいたいのですが これからもそういう理由づけをしながら1つ1つ習得していければと 改めてかんがえさせられました。 ですが今回のご質問に直接的なご指示をいただきました#2さまと#1さまにポイントを差し上げたいと思います。 が、imogasiさまのアドバイスは今回の悩み事の根本的な要因をご提示していただいたことには本当に感謝しております。 どうぞ評価していないとは受け止めないでいただければと思っております。 ご指導いただきましたみなさまにポイントをお渡しすることができればいいのにと思ってしまいます。ありがとうございました。

noname#176215
noname#176215
回答No.1

「別シートから」 フィルタオプションの設定をして下さい。

wakudo
質問者

お礼

御解答ありがとうございました。 おかげで処理が無事できました。

関連するQ&A