作成画面
■請求書No.入力セルを修正します
請求書No.をキーにして登録するので、入力セルを修正し正しく入力できるようにします。
1.入力セルX6~Z6までを選択します。
2.リボンの[ホーム]-配置グループの[セルを結合して中央揃え]を実行します。
3.フォントサイズが16になっていたので、11にします。
1.No.セルから全体を選択します。
2.リボンの[ホーム]-フォントグループの[下罫線]をクリックします。
■一覧シートを挿入します
下の商品マスタータブの上で右クリックし、表示されるメニューの[挿入]をクリックします。
挿入ウィンドウが開くので、ワークシートを選択し[OK]ボタンをクリックします。
これで商品マスターシートの前に、新しいシートが追加できました。
新しいシート名の上で右クリックし、表示されるメニューの[名前の変更]をクリックします。
シート名を「一覧」に変更します。
■請求書No.が入力されているかどうかチェックする
入力のチェックはVBAで行います。
ブックが閉じる前に行うので、WorkbookのBeforeCloseイベントを使用します。
1.ThisWorkbookオブジェクトを選択します。
2.Workbook BeforeCloseイベントを表示させ、下記のコードを入力します。
入力されていない場合はMsgbox関数で、処理を判断してもらうようにしています。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim nRet As Long
If Range("x6") = "" Then
nRet = MsgBox("請求書No.が入力されていない為、一覧に登録できません。" & vbCrLf & _
"登録しないで終了してもよろしいですか?", vbYesNoCancel)
If nRet <> vbYes Then
Range("x6").Activate
Cancel = True
Exit Sub
End If
End If
End Sub
3.バグ防止の為、Option Explicitを先頭に入力しておきます。
請求書No.を入力しないでブックを閉じようとすると、「請求書No.が入力されていない為、一覧に登録できません。登録しないで終了してもよろしいですか?」と表示されます。
[いいえ]か[キャンセル]を押すと、Workbook_BeforeCloseの引数CancelがTrueになりブックは閉じません。
[はい]を押すと一覧に登録しないで終了します。
[関連リンク]
セルの結合と解除
シートをコピーし名前をつける
指定したシートの名前の変更
ブックが閉じる前に処理を実行する