- ベストアンサー
フィルタオプションをマクロで
1 テキストを読み込んで並べ替えなどして 表(1行目はタイトル)を作り、 フィルタをかける(マクロ) 2 フィルタオプションで必要なデータを抽出 その際に日付を手入力する (例 A列(毎回決まった列) 2005/4/1以上 降順) 3 その後の作業(マクロ) このように1のマクロを起動して その後 2を手作業して 更に3をマクロを 起動すると言う方法をとっていますが 2の内容もマクロで作って 「日付」だけを 入力するように求められて それを入力するだけで その後の作業も自動で行うことは出来るでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
出来るかって事なら出来ます。 下記はオートフィルタのサンプルです。 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
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
具体的な内容がないので、私はコードは書きませんが、papayukaさんがお書きなったように、Inputbox で、途中を対話モードにすればよいと思います。そのInputbox の入力のタイミングをどこに置くかといえば、全体の流れからすれば最初に置いたほうが良いですね。 1→{対話モード}→2→3 ではなく、 ↓ {対話モード}→1→2→3 または、 ユーザー直接入力|[以降はマクロで]→記入チェック→1→2→3 (こちらのほうが作業的には速い) フィルターオプションは、Criteria をセル上に書き込まなくてはなりませんから、InputBox で行っても、また、セルに貼り付けなくてはなりません。 というようにして、それらを一体化すればよいと思います。 >その後の作業も自動で行うことは出来るでしょうか? マクロの拘束をほとんどフリーにした状態で、ふたたびマクロに戻ることも可能ですが、かなり手の込んだコードになってしまうはずです。
お礼
回答感謝です マクロを作るうえでの指針を頂器参考になりました 色々とありがとうございます
お礼
朝はやくにもかかわらず早速の回答ありがとうございます さっそくためさせていただきます ありがとうございます