さあいよいよ鑑別報告書作成画面のコードを書いていきますよ。
とはいえ、ほとんどが今までやったことの復習です。ここまで来た皆さんなら大丈夫。
今回はユーザーフォームを開いた時の処理を書きます。それではいきましょう。
スポンサーリンク
UserForm_Initialize()
もう何回もやっていますので大丈夫ですね。
End Sub
は削除します。
Private Sub UserForm_Initialize()
Dim i As Integer, LastRow As Integer
LastRow = Worksheets(“基本マスタ”).Range(“C65536”).End(xlUp).Row
For i = 2 To LastRow
cboKa.AddItem Worksheets(“基本マスタ”).Cells(i, 3).Value
Next
cboKa.Value = cboKa.List(0)
End Sub
まずは診療科セルの読み込みを行います。上が完成形です。それでは順に解説していきましょう。
「変数iを整数、変数LastRowを整数と宣言する。」
「変数LastRowにはワークシート基本マスタのC65536セルから上に向かってぶつかった行の値を入れる。」
診療科はC列なのでC65536セルとなりますね。
「変数iには2から変数LastRowの値を入れる。」
こうすればシステム作成後に候補をいくら追加してもコードを書き換える必要がありません。
「コンボボックスcboKaにアイテムを加える。そのアイテムとはワークシート基本マスタのセル(2,3)からセル(LastRow,3)の値。」
「次に進む。変数2からLastRowまで繰り返す。」
「コンボボックスcboKaにリストの1行目(ここでは2F)を初期値として入れる。」
以上ですね。
F5を押して実行し、きちんと読み込まれているか確認して下さい。
スポンサーリンク
残りの項目も同様に入力
続いて残りの項目も同じように書いていきます。下の画像を参考にして下さい。
Private Sub UserForm_Initialize()
Dim i As Integer, LastRow As Integer
LastRow = Worksheets(“基本マスタ”).Range(“C65536”).End(xlUp).Row
For i = 2 To LastRow
cboKa.AddItem Worksheets(“基本マスタ”).Cells(i, 3).Value
Next
cboKa.Value = cboKa.List(0)
LastRow = Worksheets(“基本マスタ”).Range(“D65536”).End(xlUp).Row
For i = 2 To LastRow
cboPlace.AddItem Worksheets(“基本マスタ”).Cells(i, 4).Value
Next
cboPlace.Value = cboPlace.List(0)
LastRow = Worksheets(“基本マスタ”).Range(“E65536”).End(xlUp).Row
For i = 2 To LastRow
cboDoctor.AddItem Worksheets(“基本マスタ”).Cells(i, 5).Value
Next
cboDoctor.Value = cboDoctor.List(0)
LastRow = Worksheets(“基本マスタ”).Range(“F65536”).End(xlUp).Row
For i = 2 To LastRow
cboInput.AddItem Worksheets(“基本マスタ”).Cells(i, 6).Value
Next
cboInput.Value = cboInput.List(0)
LastRow = Worksheets(“基本マスタ”).Range(“G65536”).End(xlUp).Row
For i = 2 To LastRow
cboDocument.AddItem Worksheets(“基本マスタ”).Cells(i, 7).Value
Next
cboDocument.Value = cboDocument.List(0)
LastRow = Worksheets(“基本マスタ”).Range(“H65536”).End(xlUp).Row
For i = 2 To LastRow
cboYouhou.AddItem Worksheets(“基本マスタ”).Cells(i, 8).Value
Next
cboYouhou.Value = cboYouhou.List(0)
End Sub
大丈夫ですね。基本的に書き方は全て同じです。
セルに今日の日付を入れる方法~Date関数
続いて報告日ですが、これは今日の日付を最初から入れるように設定しましょう。基本的に持参薬鑑別は入院日当日に行いますからね。
コンボボックスYouhouの処理の後に以下を追加します。
Dateは今日の日付(厳密にはパソコンの日付)を入れるコードになります。
ちなみにNowだと更に時間も追加されます。さすがに時間までは不要ですので、今回はDateにします。
もう一度F5を押してユーザーフォームを起動しましょう。上の画像のようになっていることを確認して下さい。
皆さんは自分でセルに設定した値が表示されていますね?
それでは今回は以上で終了です。お疲れ様でした。次回はスピンボタンの設定を行います。