今回は鑑別報告書作成画面を他のユーザーフォームとリンクさせるコードを書いていきます。とっても簡単です。それではいきましょう。

スポンサーリンク

Showメソッドについて

 

vba5-8-1frmInputの検索ボタンをダブルクリック。または右クリックからコードの表示。

 

vba5-8-2

frmDSearch.Show

と入力します。Showはユーザーフォームを表示するメソッドになります。

 

vba5-8-3採用薬新規登録ボタンをダブルクリック。

 

vba5-8-4

frmDRegister.Show

と入力します。

 

vba5-8-5続いて採用薬修正・削除ボタンをクリック。

 

vba5-8-6

frmDCorrect.Show

と入力します。

 

vba5-8-7ついでに閉じるボタンをダブルクリックして…

 

vba5-8-8

Unload Me

と入力します。

スポンサーリンク

vba5-8-9上の画像のようにfrmInputの検索ボタンを押すとfrmDSearchを表示されます。さてここで決定ボタンを押した時どのような処理が行われるとよいでしょうか?frmInputのテキストボックスに医薬品情報が入ればOKですね。

 

vba5-8-10では上の画像のように、「frmDSearch→オブジェクトの表示」を選択して下さい。

 

vba5-8-11決定ボタンをダブルクリックします。

 

vba5-8-12そして上の画像のようにコードを書いて下さい。解説していきます。

If txtDname = “” Then
MsgBox “薬剤を選択して下さい。”, vbExclamation, “確認”
Exit Sub
End If

「txtDnameが空欄の時、薬剤を選択して下さいと表示する」これはつまりリストボックス内の医薬品を選択していない状態の時の注意喚起ですね。

 

With frmInput
.txtDname.Text = txtDname.Text

「frmInputのtxtDnameにfrmDSearchのtxtDnameの値を入れる。」これでfrmDSearchで選択した医薬品情報がfrmInputに入力されます。医薬品を選択したらfrmInputに戻る必要があります。

 

Unload Me

検索画面が閉じて、鑑別報告書作成画面に戻るという感じです。最後にメニュー画面を開きます。

 

vba5-8-13frmMenuで「右クリック→オブジェクトの表示」。

 

vba5-8-14新規作成ボタンをダブルクリック。

 

vba5-8-15

frmInput.Show

と入力します。実際にfrmInputを起動して、きちんと選択した薬剤情報が入るか確かめてみて下さい。

 

それでは今回は以上で終了となります。お疲れ様でした。次回は医薬品情報をワークシートに転記するコードについて解説します。

>>Excel VBA講座 目次へ