今回は識別記号で検索するコードを書いていきましょう。

 

基本的に一般名で検索するコードとほぼ同じです。前回の復習も兼ねて進めていきましょう。

スポンサーリンク

識別記号で検索するコード(部分一致)

vba3-8-1まずは識別記号検索の右にある「検索ボタン」をダブルクリック。または右クリックからコードの表示

 

vba3-8-2上の画像のようになりましたね。

 

薬品名検索のコードをほとんどそのまま使えますので、コードを丸々コピーして下さい。

 

そして上の画像のように、Private Sub btnKSearch_Click()の下に貼り付けましょう。

 

それでは順番に見ていきます。

スポンサーリンク

今回も一部変更するだけ!超簡単です

訂正する部分は赤字で記載します。

txDSearch = “” →  txKSearch = “”

今回は識別記号で検索するので、医薬品と一般名のテキストボックスは空欄にします。

 

If txKSearch.Text = “” Then
MsgBox “識別記号を入力して下さい”, vbExclamation
txKSearch.SetFocus
Exit Sub
End If

「txDsearch」を「txKSearch」に変更。そして「医薬品名」「識別記号」に変更。

 

Dim Kensaku As String
Kensaku = txKSearch.Value

「txDsearch」「txKSearch」に変更。

 

Worksheets(“医薬品検索結果”).Activate
ActiveSheet.Range(“A1”).CurrentRegion.Clear

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

「field:=1」 → 「field:=3

 

今回は識別記号、つまり3列目で検索をかけるためですね。

 

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

「txDsearch」「txKSearch」に変更。

 

以上でOKです。

 

これで識別記号による部分一致検索ができるようになりました。実際に起動して試してみて下さい。

 

それでは「第3章 医薬品検索画面の作成」は一旦終了とします。お疲れ様でした。

 

右下に配置した決定ボタン(btnDecide)の処理はまた別項でお話しします。

 

次回から第4章に突入します。医薬品の修正・削除画面を作成していきましょう。

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