• ベストアンサー

フィルタオプションをマクロで

1 テキストを読み込んで並べ替えなどして   表(1行目はタイトル)を作り、   フィルタをかける(マクロ) 2 フィルタオプションで必要なデータを抽出   その際に日付を手入力する   (例  A列(毎回決まった列)     2005/4/1以上 降順) 3 その後の作業(マクロ) このように1のマクロを起動して その後 2を手作業して 更に3をマクロを 起動すると言う方法をとっていますが 2の内容もマクロで作って 「日付」だけを 入力するように求められて それを入力するだけで その後の作業も自動で行うことは出来るでしょうか?

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

出来るかって事なら出来ます。 下記はオートフィルタのサンプルです。 Sub Test() Dim fs As String, r As Range  fs = Application.InputBox _    ("日付入力", "抽出", Format(Date, "yyyy/m/d"), Type:=2)  Set r = ActiveSheet.Range("A1").CurrentRegion  r.AutoFilter  If ActiveSheet.FilterMode Then r.AutoFilter  r.AutoFilter Field:=1, Criteria1:=">=" & fs End Sub

ennkai
質問者

お礼

朝はやくにもかかわらず早速の回答ありがとうございます さっそくためさせていただきます ありがとうございます

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

具体的な内容がないので、私はコードは書きませんが、papayukaさんがお書きなったように、Inputbox で、途中を対話モードにすればよいと思います。そのInputbox の入力のタイミングをどこに置くかといえば、全体の流れからすれば最初に置いたほうが良いですね。 1→{対話モード}→2→3 ではなく、    ↓ {対話モード}→1→2→3    または、 ユーザー直接入力|[以降はマクロで]→記入チェック→1→2→3  (こちらのほうが作業的には速い) フィルターオプションは、Criteria をセル上に書き込まなくてはなりませんから、InputBox で行っても、また、セルに貼り付けなくてはなりません。 というようにして、それらを一体化すればよいと思います。 >その後の作業も自動で行うことは出来るでしょうか? マクロの拘束をほとんどフリーにした状態で、ふたたびマクロに戻ることも可能ですが、かなり手の込んだコードになってしまうはずです。

ennkai
質問者

お礼

回答感謝です マクロを作るうえでの指針を頂器参考になりました 色々とありがとうございます

関連するQ&A