Step29 請求書一覧シートに登録する : Excel請求書

作成した請求書の日付や品名等のデータを、一覧シートに登録し過去データを閲覧・検索ができるようにします。

ブックに一覧シートを追加しブックが閉じる前にそこに追加していくことにします。 登録は請求書No.をキーにしたいと思います。 その為、請求書No.が入力されているかどうか確認し、もし入力されていない場合はMsgbox関数で操作者に判断してもらうことにします。



Homeに戻る > Excelでアプリケーションソフト3 > 請求書アプリ

作成画面

■請求書No.入力セルを修正します

請求書No.をキーにして登録するので、入力セルを修正し正しく入力できるようにします。
1.入力セルX6~Z6までを選択します。
2.リボンの[ホーム]-配置グループの[セルを結合して中央揃え]を実行します。
3.フォントサイズが16になっていたので、11にします。
請求書No.をキーにして登録

1.No.セルから全体を選択します。
2.リボンの[ホーム]-フォントグループの[下罫線]をクリックします。
フォントグループの[下罫線]をクリック

■一覧シートを挿入します

下の商品マスタータブの上で右クリックし、表示されるメニューの[挿入]をクリックします。
メニューの[挿入]をクリック

挿入ウィンドウが開くので、ワークシートを選択し[OK]ボタンをクリックします。
ワークシートを選択し[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を先頭に入力しておきます。
WorkbookのBeforeCloseイベントを使用

請求書No.を入力しないでブックを閉じようとすると、「請求書No.が入力されていない為、一覧に登録できません。登録しないで終了してもよろしいですか?」と表示されます。
[いいえ]か[キャンセル]を押すと、Workbook_BeforeCloseの引数CancelがTrueになりブックは閉じません。
[はい]を押すと一覧に登録しないで終了します。
登録しないで終了してもよろしいですか?

[関連リンク]

セルの結合と解除
シートをコピーし名前をつける
指定したシートの名前の変更
ブックが閉じる前に処理を実行する

Homeに戻る > Excelでアプリケーションソフト3 > 請求書アプリ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved