今回で、雑誌バックナンバー検索ツールの完成です。
最終は、エクセルVBAを操作するユーザーフォームの作成とデザインについてです。
みなさんも最初からもう一度見直してみて、さらに「手になじむ」VBAコードにカスタマイズしてみてください。
こんにちは、じゅんぱ店長(@junpa33)です。
今回も先回の記事の続きです。「雑誌バックナンバー検索.xlsm」を作成していきます。
今回が最終回となります。VBAを起動させるユーザーフォームをデザインして行きます。
先回の記事の読み直しはこちらから>>>
検索条件を受け付けるVBAコードを組み立てる。雑誌バックナンバー検索エクセル
バックナンバー検索表作成に関連した記事はこちらになります。
コンテンツ
VBAを起動させるユーザーフォームをデザインします
前回の記事では、検索に関するVBAコードを作成しました。
今回はこのVBAをコントロールするための
をユーザーフォームで作成します。 ユーザーフォームの名称を「検索コントロールパネル」とします。 今回はユーザーフォームを使いますので、まずユーザーフォームを挿入してください。 以前にも使いましたが、 ユーザーフォームの挿入方法の確認はこちらから↓ ユーザーフォームとコントロールについてはこちらの記事も参考にできます。 挿入したユーザーフォームを適当に広げてください。 ユーザーフォームのプロパティウインドウを表示して とします。 この「検索コントロールパネル」の表示について、 ”エクセルBOOKを開いたとき” と ”「検索結果」を開いたとき” に表示されるようにします。 プロジェクトエクスプローラーの「ThisWorkbook」のコードウインドウで 以下のコードを記述してください。 コード⑫ 同様にプロジェクトエクスプローラーの「Sheet1(検索結果)」のコードウインドウで コード⑬ 検索期間の入力に関しての設定です。 ツールボックスで「A」のラベルボタンとテキストボックスとコマンドボタンで作成していきます。 テキストボックスの(オブジェクト名)は テキストボックスの(オブジェクト名)は テキストボックスの(オブジェクト名)は (オブジェクト名)を「期間入力」 「検索コントロール」コードウインドウでの各入力データのコード設定は、 この様になります。 「期間入力ボタン」を押したときに各テキストボックスに入力した指定値が、変数に送られます。 コード⑭ こちらもツールボックスで「A」のラベルボタンとテキストボックスとコマンドボタンで作成していきます。 テキストボックスの(オブジェクト名)は「検索雑誌名」 (オブジェクト名)を「雑誌名検索」 「検索コントロール」コードウインドウでの入力データのコード設定は、 この様になります。 コード⑮ テキストボックスの(オブジェクト名)は「検索雑誌コード」 (オブジェクト名)を「雑誌コード検索」 「検索コントロール」コードウインドウでの入力データのコード設定は、 コード⑮ Module1、2で記述したSubの作動ボタンを設置します。 Module1 送品予定表転記・データをまとめる・送品予定表削除・データまとめクリア Module2 検索結果クリア 「検索コントロール」コードウインドウでの各入力データのコード設定は、 コード⑯ 送品予定表の作成から発展させて、過去に何がどれだけ送品されたか客注がどれだけあって、 取り置きがどれだけあったかを調べることができるようになりました。 さらに販売管理ソフトを併用して、その時どこの顧客に販売したかもわかる様にもなります。 情報がどこまで必要かというところですが、このレベルの情報まではPOSでは調査不可能な部分かと思います。 当たり前のように日々の業務においては、色々な情報やデータが流れてきます。 そんな情報を上手く使えるか使えないかはその人の考え次第です。 どこまで精緻なデータが必要かにもよりますが、街の書店にとっては 恐らくは、自前加工のデータでも十分使える部分が多いかと思います。 それはまた情報取得も費用対効果で考えてゆくということに繋がっていきます。 エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。 エクセルVBAの独習には動画学習という方法もあります。 目と耳両方を使って学習することでさらに勉強効率を上げることもできると思います。 電子書籍版「大村式【動画&テキスト】Excelマクロ&VBA最高のはじめ方」をamazonで見てみる エクセルVBAを使って業務効率を上げて行くのに、始めのうちに知っておきたい内容を纏めています。 今回の記事はここまでです。 最後までご覧いただき有難うございました。
ユーザーフォームに各コントロールを設置する
「検索コントロールパネル」と名前を付けます
「検索コントロールパネル」の表示タイミングを設定します
Private Sub Workbook_Open()
If 検索コントロール.Visible Then Exit Sub
検索コントロール.Show vbModeless
End Sub
以下のコードを記述してください。Private Sub Worksheet_Activate()
If 検索コントロール.Visible Then Exit Sub
検索コントロール.Show vbModeless
End Sub
期間検索入力部分の設置をします
「期間年から」 「期間年まで」
Value についてはデフォルトで入っている値(空欄でもOKです)
「期間月から」 「期間月まで」
Value についてはデフォルトで入っている値(空欄でもOKです)
「期間日から」 「期間日まで」
Value についてはデフォルトで入っている値(空欄でもOKです)
Captionを「期間入力ボタン」 とします。Private Sub 期間入力_Click()
fdatey = 検索コントロール.Controls("期間年から").Value
tdatey = 検索コントロール.Controls("期間年まで").Value
fdatem = 検索コントロール.Controls("期間月から").Value
tdatem = 検索コントロール.Controls("期間月まで").Value
fdated = 検索コントロール.Controls("期間日から").Value
tdated = 検索コントロール.Controls("期間日まで").Value
End Sub
検索キーワードの入力ボックスの設定と設置
Callステートメントはプロシージャーの部品化に必須項目 エクセルVBA最速理解
雑誌名検索
Value についてはデフォルトで入っている値(空欄でもOKです)
Captionを「雑誌名検索ボタン」 とします。Private Sub 雑誌名検索_Click()
myKEY = 検索コントロール.Controls("検索雑誌名").Value
Module2.雑誌名検索
End Sub
雑誌コード検索
Value についてはデフォルトで入っている値(空欄でもOKです)
Captionを「雑誌コード検索ボタン」 とします。
この様になります。Private Sub 雑誌コード検索_Click()
myKEYb = 検索コントロール.Controls("検索雑誌コード").Value
Module2.雑誌NO検索
End Sub
送品予定表転記、データまとめボタンほか作成
この様になります。Private Sub 送品取込_Click()
Module1.送品予定表転記
End Sub
Private Sub 送品まとめ_Click()
Module1.データをまとめる
End Sub
Private Sub 日々送品表削除_Click()
Module1.送品予定表削除
End Sub
Private Sub 送品まとめCR_Click()
Module1.データまとめクリア
End Sub
Private Sub 検索表示CR_Click()
Module2.検索結果クリア
End Sub
VBAを起動させるユーザーフォームをデザインするのまとめ
エクセルVBAを独学で習得する!ために大切な7つのポイントを解説します
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です
エクセルVBA初級者がUdemyで動画学習する講座おすすめ5選と無料講座の上手な使い方。
(出版社)技術評論社
(税込価格)1,628円(本体1,480円+税)
学習書の新しい形です。
YouTubeと完全リンクした参考書です。入門と基礎を重点的に22本の動画で解説をしています。
ちょっとした空き時間を利用してでもスマホがあれば学習ができます。
動画は優しい語り口調で、視聴者にある意味安心感を与えてくれます。動画は5分から20分間ぐらいで22本の構成です。
文章解説と動画解説の関係性は、動画解説が主で、文章解説がサポートいう使い方もできます。