【販売管理システム作成】登録済みのデータを修正削除する方法【見積システム完成編】

みなさん、こんにちはケンケンです。

 

販売管理システムの作成を通してエクセルを学んでいくことを目指したシリーズです。

前回は、とうとう新規登録画面の完成までこぎつけました。

前回記事

みなさん、こんにちはケンケンです。   エクセルを駆使して販売管理システムを作るシリーズを紹介しています。 機能やフォームが複数あるものを作り上げるのは根気がいりますが、じっくり基礎を固めてアウトプットすれば恐れ[…]

今回は、一回登録されたデータを修正削除する方法をみなさんと勉強していきたいと思います。

あと数回で見積システムは完成させる予定ですのでもう少しお付き合い下さい。

では、いってみましょう。

 

必要なフォームを追加する

修正削除を可能にするためにまずフォームを必要な分だけ作成します。

コントロールの配置とオブジェクト名とCaptionはフォーム作成と同時に行うことを忘れないようにしましょう。

修正削除用フォームを作成しよう

まず、修正削除用のフォームを作成しましょう。

方法は簡単です。

以前作った期間指定用のフォームをそのままコピーして使っちゃえば良いです。

これが以前作ったフォームです。

このフォームをコピーして以下のように加工します。

VBE画面から「挿入」→「ユーザーフォーム」を選択しフォームを作成し、上図のコントロール全体を指定して

新しいフォームに貼り付けてください。

フォーム名を「frmMitumoriDelete」としてCaptionは「見積データ一覧」としました。

変更するのは下の3つのコマンドボタンだけです。

Captionをそれぞれ上図のとおり変更し、オブジェクト名を左から以下のようにしましょう。

これで、修正削除用のフォームは完成です。簡単ですね。

 

データ修正専用のフォームを作ろう

このフォームもコピーで済ませます。

以前作った上図の修正用フォームをコピーします。

先ほどと同じようにユーザーフォームを追加作成し、オブジェクト名を「frmSyusei2」としました。

コントローラーの配置とオブジェクト名やCaptionはまったく以前と同様です。

フォームを呼び出すフォームを作成しよう

上記のフォームを呼び出す専用のフォームを作成しましょう。

各コントロールのオブジェクト名とCaptionは上図を参考にしてください。

 

追加したフォームに機能を実装する

それでは、追加したフォームに機能を実装していきますよ。

シート一括削除機能の実装

シート一括削除機能から実装していきますが、実はこれ以前にほとんど作ってしまっていました。

メインメニューの修正削除ボタンに実装していたのですが覚えていますか?

 

その機能を新たに作った修正削除フォームの、シート一括削除機能に移動します。

上記のコードを修正削除フォームのシート一括削除ボタンに実装します。

クリックイベントプロシージャにコードを上記のようにします。

追加したコードはメッセージボックスを表示するものです。

削除するときにはきっちり注意を促すメッセージを発信するのが基本でしたね。

すでに既出のものなので細かい説明は割愛しますが、メッセージボックスを使って注意を促す方法は

寝ていても気づくように習慣づけておきましょう。

最終行で削除終了のメッセージを追加しています。こういうこころ使いはユーザーにとって親切ですね。

フォームを連携させよう

作ったフォームを既存のフォームに連携させておきましょう。

メインメニューと修正削除メニューを連携させる

メインメニューの「修正・削除」ボタンをクリックすると「修正削除メニュー」フォームが起動するようにしましょう。

「修正・削除」ボタンをクリックし、コードを書きます。

これで、両フォームが連携されました。

 

修正削除メニューと見積データ一覧フォームを連携させる

続いて修正削除メニューの「一部修正・削除」ボタンと見積データ一覧フォームを連携させます。

見積データ一覧フォームと修正フォーム(frmSyusei2)を連携させる

最後に見積データ一覧フォームと修正用のフォームを連携させます。

これで、すべてのフォームを連携可能にできました。

 

初期値を設定しよう

作成したフォームに初期値(Initialize)を設定していきましょう。

見積データ一覧フォームの初期値設定

まずは、見積データ一覧フォーム(frmMitumoriDelete)から始めましょう。

上図のようにプロシージャを生成し、コードを書きますが、これも以前まで使ったコードを使い回します。

コードの解説

①と②はリストボックスの初期値を設定するコードでしたね。

リストボックス参考記事

みなさん、こんにちはケンケンです。   今回は、ユーザーフォームのリストボックスをご紹介します。 リストボックスはフォーム上にデータリストを表示したり選択することが出来ます。   資料は以前[…]

 

③見積データ一覧シートでフィルタオプションを設定するコードでしたね。

今回は、 「Sheets(“見積データ一覧”).Range(“O2:P2”).Value = “”」の箇所で、セルを空白にしてフィルターをかけています。

つまり、見積データのすべてを転記しています。

そして、④ですべてのデータをフォーム起動時に表示しています。

フィルタオプションとAddItem参考記事

みなさん、こんにちはケンケンです。   販売管理システムをエクセルのみで作成するというチャレンジシリーズになります。 前回は見積書作成コードのカスタマイズをすることでいろいろ修正を加えていきましたが、 今回[…]

 

データの修正フォーム(frmSyusei2)の初期値設定

続いて、データの修正フォーム(frmSyusei2)の初期値の設定です。

これは、frmSyuseiのときと同じなのでコピペでOKです。

 

コンボボックス初期値の復習記事

みなさん、こんにちはケンケンです。   販売管理システム作成をシリーズでお伝えしています。 前回は、見積データの新規登録用フォームを作り初期値を設定しました。 [sitecard subtitle=前回の復習 […]

 

コマンドボタンクリック時の設定をしよう

初期値の設定が終わったら、コマンドボタンクリック時のアクションを設定していきましょう。

見積データ一覧フォーム(frmMitumoriDelete)の選択行修正ボタンをクリックしたとき

まず、見積データ一覧フォーム(frmMitumoriDelete)の選択行修正ボタンをクリックしたときのアクションを設定します。

先ほど作ったcmbSyusei_Clickプロシージャに追記します。

上記のようにコードを書いてください。

コードの解説

①まず、下のリストボックスからデータを選択していない時はメッセージボックスで注意喚起してプロシージャを離脱します。

 

②見積Noと見積日と得意先名の情報をデータの修正フォーム(frmSyusei2)へ転記しています。

 

③下のリストボックスで選択された行数を変数selectRow2に格納します。

selectRow2はPublic変数として標準モジュールに宣言します。

(注意:標準モジュールの先頭で宣言しましょう。)

Public変数復習記事

みなさん、こんにちはケンケンです。   エクセルを駆使して販売管理システムを作るシリーズを紹介しています。 機能やフォームが複数あるものを作り上げるのは根気がいりますが、じっくり基礎を固めてアウトプットすれば恐れ[…]

 

データの修正(frmSyusei2)の商品コンボボックスをクリックしたとき

こちらもfrmSyuseiのコピーで済ましちゃいましょう。

ひとつだけ注意点があります。

変数tanniはモジュールの最上部に宣言することを忘れないようにしてください。

変数tanniの復習記事

みなさん、こんにちはケンケンです。   販売管理システム作成をシリーズでお伝えしています。 前回は、見積データの新規登録用フォームを作り初期値を設定しました。 [sitecard subtitle=前回の復習 […]

データの修正(frmSyusei2)の数量テキストボックスを操作した時のアクション

数量テキストボックスがアップデートされたときと0から9以外の数値が入力された時のアクションを以下のコードで表現します。

これも以前書いたコードの使い回しです。

AfterUpdateの復習記事

みなさん、こんにちはケンケンです。   販売管理システム作成をシリーズでお伝えしています。 前回は、見積データの新規登録用フォームを作り初期値を設定しました。 [sitecard subtitle=前回の復習 […]

 

KeyPressの復習記事

みなさん、こんにちはケンケンです。   販売管理システムを自前で作るシリーズをお伝えしています。 前回は、見積データ新規登録用フォームをコンボボックスを中心にご紹介しました。 [sitecard subti[…]

修正実行ボタンをクリックしたときのアクション

今日のメインイベントです。

といってもこれもほぼコピペですが。

それでは、まずコードを書きましょう。

①データの修正フォーム(frmSyusei2)のデータをリストボックスに転記します。つまり、リストボックスのデータを修正します。

先ほど宣言したselectRow2が活躍していることを確認してください。

Public変数復習記事

みなさん、こんにちはケンケンです。   エクセルを駆使して販売管理システムを作るシリーズを紹介しています。 機能やフォームが複数あるものを作り上げるのは根気がいりますが、じっくり基礎を固めてアウトプットすれば恐れ[…]

②以降で修正したデータをエクセルシートに転記しています。

変数targetrowとselectRow2をうまく使ってエクセルシートの転記先行を取得していることを確認しておいてください。

 

まとめ

いかがでしたか。

といっても今回は前回までのコピペがほとんどでした。

とはいえ、一度作ったコードをコピペすると機能を拡張する際に便利であるということはご理解いただけたのではないでしょうか。

次回は、削除機能の実装をしていきます。

少し工夫をする箇所がでてきて面白いと思いますのでお楽しみに。

それでは、また次回お会いしましょう。

 

販売管理システム作成記事一覧~見積編~

エクセルを駆使して販売管理システムを作ってみる【元データの取り扱い方】

【販売管理システム作成】見積書を自動作成する方法①

【販売管理システム作成】見積書を自動作成する方法②

【販売管理システム作成】見積書を期間指定して作成する方法①【コードのカスタマイズ】

【販売管理システム作成】見積書を期間指定して作成する方法②【リストボックス作成】

【販売管理システム作成】見積書を期間指定して作成する方法③【リストボックス作成その2】

【販売管理システム作成】見積データ登録用のフォームを作ろう①【フォームの設定】

【販売管理システム作成】見積データ登録用のフォームを作ろう②【コンボボックスの活用】

【販売管理システム作成】見積データ登録用のフォームを作ろう③【リストボックスの活用】

【販売管理システム作成】見積データ登録用のフォームを作ろう④【エクセルシートに登録】

【販売管理システム作成】見積データ登録用のフォームを作ろう⑤【修正削除機能の実装】

【販売管理システム作成】登録済みのデータを修正削除する方法【見積システム完成編】

【販売管理システム作成】登録済みのデータを削除する方法【削除フラグの立て方】