つかえるExcelマクロ[マクロルーティン#16](指定のシートにまとめる)インプットボックス
この記事はマクロルーティン#16(指定のシートにまとめる)で書いたマクロにちょっとコード追加して、まとめたい値をその都度、指定できるようなマクロにしてみました。
◆イメージ
★マクロを実行すると、「種類」(項目名)の何の値をまとめたいのか入力するよう、インプットボックスが表示されます。
入力した値の行だけが「ピックアップ」シートにまとめられます。
◆書くコード
<テキスト>
③Dim shurui As String
②shurui = InputBox("種類は?")
①Worksheets("記録").Range("A1").AutoFilter Field:=2, Criteria1:=shurui
③Worksheets("記録").Cells.Copy Worksheets("ピックアップ").Cells
④Worksheets("記録").ShowAllData
◆解説
①のコードを
Worksheets("記録").Range("A1").AutoFilter Field:=2, Criteria1:=”美容”
のように書くと
→記録シートのA1セルを含む表の2列目を美容で絞り込む
です。
美容の部分を変数(shurui)に置き換えたのが
①Worksheets("記録").Range("A1").AutoFilter Field:=2, Criteria1:=shurui
→記録シートのA1セルを含む表の2列目をshuruiで絞り込む
shuruiとは・・・
②shurui = InputBox("種類は?")
InputBox("種類は?") と書くと次の図のようなインプットボックスが表示されます。
このインプットボックスを表示させただけでは何も意味がありません。
このインプットボックスに入力した値を取得したいですね。
そこで、取得した値を入れるところをshuruiという変数に設定するのです。
②shurui = InputBox("種類は?")
このように書くことによって、インプットボックスに入力された値がshuruiにはいります。
shurui は今かってに作った変数ですので、変数宣言をかいてマクロ側に伝えておきます。
→③Dim shurui As String (shurui は変数で文字列(String)ですよ)
その後、
絞り込まれたデータをコピーして「ピックアップ」シートに貼りつけ。
フィルタをはずす。
③Worksheets("記録").Cells.Copy Worksheets("ピックアップ").Cells
④Worksheets("記録").ShowAllData
解説はこちら<マクロルーティン#17(指定のシートにまとめる)続き>
今回ご紹介したインプットボックス、値をその都度指定したいときには便利ですので是非使ってみてください!