今回は一般名で検索するコードを書いていきましょう。

 

医薬品名で検索するコードをVBA講座3-6で書きましたよね。あれを一部変えるだけなので、めちゃくちゃ簡単です。

スポンサーリンク

一般名で検索するコードを書く

vba3-7-1まずは一般名検索の右にある検索ボタンをダブルクリック。または右クリックからコードを表示。

 

vba3-7-2このような感じになりました。

 

VBA講座3-6で書いた医薬品名で検索するコードを見て下さい。

 

これをほぼそのまま使えますので、医薬品名検索のコードを上の画像のように丸々コピーして下さい。

 

そして上の画像のように、先ほどのPrivate Sub btnGSearch_Click()の下に貼り付けます。赤で囲った部分です。

 

これで準備は整いました。

スポンサーリンク

医薬品名検索コードの一部を変更するだけでOK

それでは順番に見て行きましょう。訂正する部分は赤字で表示します。

 

「txDSearch = “”」 → 「 txGSearch = “”」

今回は一般名で検索するので、医薬品名と識別記号のテキストボックスは空欄にします。「D」を「G」に変更してください。

 

If txGSearch.Text = “” Then
MsgBox “一般名を入力して下さい”, vbExclamation
txGSearch.SetFocus
Exit Sub
End If

「txDsearch」→「txGSearch」へ変更。「医薬品名」→「一般名」へ変更。

 

Dim Kensaku As String
Kensaku = txGSearch.Value

「txDsearch」「txGSearch」に変更。

 

Worksheets(“医薬品検索結果”).Activate
ActiveSheet.Range(“A1”).CurrentRegion.Clear
With Worksheets(“医薬品マスタ”)
.Range(“A2”).AutoFilter field:=2, Criteria1:=”=*” & Kensaku & “*”
.Range(“A1”).CurrentRegion.SpecialCells(xlCellTypeVisible).Copy Worksheets(“医薬品検索結果”).Range(“A1”)
End With

「field:=1」→「field:=2

 

フィールドを1から2へ変更します。今回は一般名検索なので、2列目で検索をかけるためです。

 

If Worksheets(“医薬品検索結果”).Range(“A2”) = Empty Then
MsgBox “その医薬品の採用はありません。”, vbExclamation, “確認”
txGSearch.SetFocus
Exit Sub
End If

「txDsearch」「txGSearch」に変更。それ以降は弄らなくてOKです。

 

これで一般名で部分一致検索できるようになりました。実際に起動して一般名で検索できることを確認して下さい。

 

それでは今回はここで終了です。お疲れ様でした。

 

次回は識別記号で検索するコードについて解説します。基本的に今回と同じなのでサクッといきましょう。

>>Excel VBA講座 目次はこちら