どうも暇人薬剤師のヤクタマです。
今回はネットで拾った新旧薬価の比較表に検索機能をもたせるマクロの紹介です。
新旧薬価の比較表はネットに落ちてるんだけど、ただの一覧表だからいかんせん使いにくいのよね。
やっぱ検索機能がほしいよね。
だって、比較表って何に使います?この医薬品を発注するしようか、でもこれは値下がるの?値上がるの?来月に発注もちこした方がいいの?的な判断材料に使いますよね。
発注ごとに頻繁に調べなければいけないのにチマチマ表で調べてられるかよ。
エクセルの既存機能でCtrl+Fってのがあるけど、この検索もイマイチであっちこっちのページに飛んでチマチマとした作業が必要なんだわ。
こうしたチマチマした感じではなくって、検索キーワードを含む行をズバッとまるっと全部表示して一発で完結するような機能が欲しいの。
まぁ、この時期にしか使わない消費期限2週間くらいのツールなんだけどさ、薬価は毎年変わるわけだから作り方覚えて毎年活用しようぜ。
では、行ってみよう。
まずは新旧薬価の比較表をゲットするところからです。これはファルマーケットってサイトで作られたものがあるので、それを使わせていただきました。比較表を一から作るのはめんどくさいから、あるものは活用していくスタンスで。
ちなみに今回のマクロは割と応用が効くので、なんの一覧表でも使えます。
原理は、特定の「列」からキーワードを検索して、キーワードを含む行を新規シートに転記します。
たとえば「イグザレルト」って検索すると「イグザレルト」が含まれる行だけを抽出して新規シートに転記してくれます。
▼こんな感じね。
ダウンロードした一覧表に検索マクロをぶち込んであげるだけなので、簡単に実行できるはずです。
注意点なんだけど、もしファルマーケットさんのを使うなら最初の3行は消してください。一覧表の1行目が見出し行になるようにしてください。
「薬品名」の列で検索するためには「薬品名」が3列目になるように配置してください。いらない列は削除してもいいけど3列目が「薬品名」です。これは絶対ね。
別の列で検索かけたいならコードを読んでいじってくれ。
で、手っ取り早くコードはこちらです。
Sub 追加マクロ()
Dim wsSource As Worksheet
Dim wsNew As Worksheet
Dim lastRow As Long, destRow As Long
Dim keyword As String
Dim i As Long
' キーワードを指定
keyword = InputBox("検索するキーワードを入力してください", "キーワード入力")
' ソースシートを設定
Set wsSource = ThisWorkbook.Sheets("令和6年度薬価比較表") ' 元データシートの名前を適宜変更
' 新しいシートを作成
Set wsNew = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
wsNew.Name = keyword ' シート名を適宜変更
' ソースシートの最終行を取得
lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
' 新しいシートの最初の行にヘッダーをコピー
wsSource.Rows(1).Copy wsNew.Rows(1)
' 新しいシートに行を追加
destRow = 2 ' ヘッダーの次の行から開始
For i = 2 To lastRow ' 2行目から最終行まで
If InStr(1, wsSource.Cells(i, 3).Value, keyword) > 0 Then ' 3列目に品名が入っている場合
wsSource.Rows(i).Copy wsNew.Rows(destRow)
destRow = destRow + 1
End If
Next i
Columns("C").ColumnWidth = 35 ' 列の幅の調節
End Sub
このコードを記入する場所なのですが、エクセルの【表示】→【マクロ】→【マクロの表示】の順で進んで。
お次に、マクロ名をテキトーに決めて【作成】を押してください。
すると別ウィンドウがでるので、そこに先程のコードを丸ごとコピペします。
そしたらマクロ実行するだけですね。
先程の【表示】→【マクロ】→【マクロの表示】→【実行】で
実行すると▼検索ボックスがでてきて検索できるようになっているはず
これで使えるようになったけど、これだとマクロをいちいち実行するのが面倒ですよね。なので作ったマクロにショートカットキーを割り当てて上げます。
▼実行する前にオプションを選択してください。
ここでショートカットキーを割り当てられるので僕はいつも q を割り当てます。これでCtrl+ q でいつでも検索ができるようになります。
マクロ作ったら普通のエクセル形式のままだと保存できないので、別名であらたなマクロ有効ブックという新たな拡張子を選択して保存してください。
以上!
もし転職計画があるなら当サイト経由してもらえると助かります。
ヤクタマが転職するときに毎度お世話になっているのが「ファルマスタッフ」ってサイトです。
転職サイトとしては忖度なしにヤクタマぶっちぎりでオススメです。
「ファルマスタッフ」は1つ1つの就業先をキャリアコンサルタントが必ず直接訪問して職場の状況ダイレクトにリサーチ!
そのため、求人情報が他社よりも濃い!職場の雰囲気や経営状況、残業などの忙しさなどのリアルを踏まえて転職先を提案してくれます。
今すぐ転職を考えている方もちょっと考え中の方も利用できます。すべて無料なので登録するなら当サイトから申し込んでいただければ幸いです。
公式ファルマスタッフ