4-6 マクロを改造する

このマクロは、実行して分かるように、指定した日付以外の抽出が出来ません。これでは実際に使うのは不便です。
そこでこのマクロを少し改造して、実行するたびに、日付の範囲を入力して指定出来る様にします。どのようにするかと言いますと、「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]のショートカットキーを押してマクロを実行してみて下さい。

うまく動作しましたか?

注意:日付の入力は間違いの無いようにして下さい。


前の項目へ 視覚障害者のためのExcel講座へ戻る 次の項目へ