このマクロは、実行して分かるように、指定した日付以外の抽出が出来ません。これでは実際に使うのは不便です。
そこでこのマクロを少し改造して、実行するたびに、日付の範囲を入力して指定出来る様にします。どのようにするかと言いますと、「Module1.bas]をエディタで開いて、次の2行を追加して編集します。
--ここから
日付1$ = InputBox("日付範囲の先頭の年月日を入力してください" + vbCrLf + "yyyy/mm/dd",
"日付範囲記入") 日付2$ = InputBox("日付範囲の最後の年月日を入力してください" + vbCrLf + "yyyy/mm/dd", "日付範囲記入") |
--ここまで
「日付1$」と「日付2$」は変数です。変数は、その都度代入された値に変化します。
後に付いている[$]記号は、この変数が文字列形式である事を表しています。
ここの[=]は変数への値の代入を意味します。
つまりこの日付1$と日付2$変数には毎回入力される日付が入る事になります。
ですから、マクロの次の1行の"2008/4/1"と書かれている所に「日付1$」を、
"2008/4/30"と書かれている所を「日付2$」とそれぞれの変数に置き換えます。
次の様に書き換えます。
--ここから
Selection.AutoFilter Field:=1, Criteria1:=">=" & 日付1$,
Operator:=xlAnd, _ Criteria2:="<=" & 日付2$ |
--ここまで
[&]は、文字列をつなぎ合わせる演算子です。
書き換えたマクロは次の様になります。
--ここから
Attribute VB_Name = "Module1" Sub 日付抽出() Attribute 日付抽出.VB_Description = "マクロ記録日 : 2008/5/2 ユーザー名 : masana" Attribute 日付抽出.VB_ProcData.VB_Invoke_Func = "t\n14" ' 日付抽出 Macro ' Keyboard Shortcut: Ctrl+t 日付1$ = InputBox("日付範囲の先頭の年月日を入力してください" + vbCrLf + "yyyy/mm/dd", "日付範囲記入") 日付2$ = InputBox("日付範囲の最後の年月日を入力してください" + vbCrLf + "yyyy/mm/dd", "日付範囲記入") Range("A1").Select Selection.AutoFilter Selection.AutoFilter Field:=1 Selection.AutoFilter Field:=1, Criteria1:=">=" & 日付1$,Operator:=xlAnd, _ Criteria2:="<=" & 日付2$ Range("A1").Select End Sub |
--ここまで
変更した「Module1.bas]を終了して保存します。
この「Module1.bas]を「小遣帳.xls」に組み込む方法は次のとおりです。
1.小遣帳.xlsを起動して、[Alt+T]キーを押してメニューバーの「ツール(T)」のプルダウンメニューを開きます。
2.[M]キーを押して「マクロ(M)」のサブメニューを出します。
3.[上下カーソル]キーで「Visual Basic Editor(V)」を選択して[Enter]キーを押します。(Alt,T,M,Vです。)「Visual Basic Editor」が開きます。
4.[Alt+V]キーを押してメニューバーの「表示(V)」のプルダウンメニューを開きます。
5.[P]キーまたは[上下カーソル]キーで「プロジェクト エクスプローラ(P)」を選択して[Enter]キーを押します。(Alt,V,Pです)。
6.[下カーソル]キーで再下段の「標準モジュール プラス」を選択して[右カーソル]キーを押してたたまれている下の層を表示します。
7.[下カーソル]キーで「Module1」を選択して[Enter]キーを押します。無音ですがマクロの本文が選択されています。
8.このマクロを削除します。[Alt+F]キーを押してメニューバーの「ファイル(F)」のプルダウンメニューを出します。
9.[上下カーソル]キーで「Module1 の解放(R)」を選択して[Enter]キーを押します。
10.「削除する前に Module1 をエクスポートしますか?」とメッセージが出ますので[N]キーを押してエクスポートしないで削除します。
11.書き換えた「Module1.bas」」をインポートして組み込みます。[Alt+F]キーを押して「ファイル(F)」のプルダウンメニューを出します。
12.[上下カーソル]キーで「ファイルのインポート(I)」を選択して[Enter]キーを押します。
13.ファイルを開くダイアログが出ますので、[Shift+tab]キーを1度押して「ファイルのインポート一覧項目」で[BS]キーなどを使って、保存してある場所から「Module1.bas」を探し出して[Enter]キーを押します。(マイコンピュータの操作と同じです)。
14.無音ですが、これで書き換えた新しいマクロが組み込まれました。
15.「Visual Basic Editor」を終了します。[Alt+F]キーを押してプルダウンメニューの「終了して Microsoft Excel へ戻る(C)」を選択して[Enter]キーを押します。[Alt+F4]キーでも終了します。
16.[Ctrl+t]のショートカットキーを押してマクロを実行してみて下さい。
うまく動作しましたか?
注意:日付の入力は間違いの無いようにして下さい。