支給品管理システム修正の続き
席に戻った星くんは、保存した作業中の支給品管理システムを開きます。
「まさか、岬さんがセミナー講師をやりたいなんて言い出すとは、思わなかったなあ。ビックリだよ。
…でもよかった。
会社をやめてセミナー講師に転職するなんて言われたら、どうしようかと思ったよ。
彼女、業務改善部隊の貴重な戦力だからなあ…」
ブツブツ言いながら星くんは、起動した支給品管理システムのモジュールを確認します。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row >= 5 Then
If Target.Column = 1 Then
Cancel = True
End If
End If
End Sub
「昼前は、ここまで実装したんだったっけ。
"Cancel = True"に来るのは、5行目以下のA列のセルをダブルクリックしたときだけだったな。
うん、いいぞ。
この後は、A列のセルにオーダーNoが入力されているかどうかを判定し、
未入力ならば入力フォームを、入力済みならば修正フォームを、それぞれ表示するだけだ」
星くんは、カタカタとキーボードを叩きます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row >= 5 Then
If Target.Column = 1 Then
Cancel = True
If Target.Value = "" Then
If Target.Row = Cells(Rows.Count, 1).End(xlUp).Row + 1 Then
Form入力.Show
End If
Else
Form修正.Show
End If
End If
End If
End Sub
※赤字のコードが、新しく追加されたコードです。
「うん、いい感じだ。'Target.Value = ""'と、ダブルクリックしたセルが空ということは、
オーダーNoが未入力の時だから、今まで同様、最終データの次行のみ、入力フォームを表示する。
最終データの次行かどうかは、"Target.Row = Cells(Rows.Count, 1).End(xlUp).Row + 1"で判定できる。
ダブルクリックしたセルが空でないときは、オーダーNoが入力されているときだから、
このときはElse以降に処理が移り、修正フォームを表示する……いいんじゃないか?」
星くんは、追加したコードを眺めながら、ウンウンと首を振ります。