コマンドボタンとプロシージャーとの紐づけ。時給の計算その9

vbajikyukeisaneyecatch009

時給計算表作成の第9回になります。今回が作成の最終回です。

シートに設置したコマンドボタンとプロシージャーを紐づけていきます。

コードは標準モジュールではなく、シートモジュールに記述していきます。

エクセルVBAで時給計算表を作成しています。この回で9回目、最終記事になります。

今回は、初期設定項目シートで設置した各コマンドボタンと、プロシージャーとを紐づけするエクセルVBAコードを作っていきます。

こんにちは、じゅんぱ店長(@junpa33)です。

 

時給計算に関連する記事の一覧

「時給計算表作成」の記事一覧を開く

 

無料ソフトダウンロード
この時給計算表エクセルソフトの無料のダウンロードは、

vbajikyukeisaneyecatch010無料DL!時給計算表エクセルソフト 個人別ブックで管理出来ます。

の記事で行うことが出来ます。

 

コマンドボタンとプロシージャーとの紐づけ

 

今まで、標準モジュール(Module1、Module2、Module3)で記述してきましたそれぞれのプロシージャーを、コマンドボタンと紐づけていきます。

この紐づけるコードは、コマンドボタンの置かれている「初期設定項目」の「シートモジュール」に記述します。

vbajikyuhyoupho049a

VBEのプロジェクトエクスプローラーの「Sheet1(初期設定項目)」というモジュールです。

この11個のボタンに紐づけを行います。

 

vbajikyuhyoupho050

 

プロシージャーとの紐づけコード

 

「Sheet1(初期設定項目)」のシートモジュールに記述していきます。

紐づけのコード

①から⑪までのコードを順に記述します。

VBAコード参考記事

ここの説明で出てくるVBAコードの参考にしていただける記事です。

①コード

Private Sub 計算表初期化_Click()

Module1.クリアH
Module1.シート削除

End Sub
②コード

Private Sub 対象者計算Book作成_Click()

Module1.対象者用時間計算作成

End Sub
③コード

Private Sub Book保存_Click()

Module1.ブックを保存

End Sub
④コード

Private Sub テンプレート作成_Click()

Module2.テンプレート

End Sub
⑤コード

Private Sub 勤務時間計算_Click()

Module2.時間計算

End Sub
⑥コード

Private Sub 給与計算_Click()

Module2.金額計算
Module2.合計計算

End Sub
⑦コード

Private Sub マルメ_Click()

Module2.マルメ計算

End Sub
⑧コード

Private Sub 計算シートの保存_Click()

Module3.シート保存

End Sub
⑨コード

Private Sub シートリスト作成_Click()

Module3.シート名

End Sub
⑩コード

Private Sub シート印刷_Click()

Module3.シート印刷

End Sub
⑪コード

Private Sub シートリストクリア_Click()

Module3.コンボリストクリア

End Sub

 

 

「時給計算表.xlsm」のブックモジュールに記述する内容

 

テンプレートBookの「時給計算表.xlsm」を開くときに、

初期設定項目の「対象者」項目のデータをクリアしておきます。

データクリアのコード

ブックモジュール(ThisWorkbook)に記述します。

開いたファイル名が「時給計算表.xlsm」であったときに「対象者」をクリアします。

「対象者」をクリアコード

Option Explicit

Private Sub Workbook_Open()
Dim FileName As String

FileName = ThisWorkbook.Name
If FileName = "時給計算表.xlsm" Then
    Worksheets("初期設定項目").Range("C6") = ""
End If
End Sub

 

 

プロシージャーとの紐づけのまとめ

 

この記事でコマンドボタンとプロシージャーを繋げることが出来ました。

紐付けのコード自体は、プロシージャーの呼び出しコードですので、

記述は非常に簡単です。

 

プロジェクト(モジュール全体)の中で、それぞれのプロシージャー名の重複は禁止されています。

この記事で紹介している紐づけコードには、

どのモジュールに属しているプロシージャーかまで記述しています。

これは後々のメンテナンスで、どこにあるプロシージャーかを見つけやすくするためです。

(本来的には、唯一の名前ですので、記述しなくても十分動作させることは出来ます。)

 

次回は、この時給計算表作成ソフトの使い方を始めから通して説明します。

 

短期間でエクセルVBAの独学習得を目指したいなら

 

エクセルVBAを独学する独習方法は、学習者それぞれ十人十色、多種多様と思われます。

けれども、

出来るだけ効率よく学習するためには、いくつかの大切なポイントがあります。

独学でもVBA習得の中級クラスに達するのはそんなに難しいことではありません。

先人が行った勉強方法をあなたがそのまま利用すればよいということです。

独習のための大切な7つのポイントは、上記記事にて解説しています。

重要ワード

独習によるVBA習得のキーワードは、

出来るだけ多くの実例に触れること!

です。

正直、VBAの学習について自分の周りの仕事(業務)からだけ実例を得るのでは効率良い習熟は無理です。

ハッキリ言って、

本当に短い期間でVBA習得を成功させたいなら、今使っている参考書が良書かどうかを判断し、新ツールとしてオンライン学習も取り入れて行うことが、

手っ取り早く短期間習得できるというのは間違いないでしょう。

 

 

このサイトでよく使うVBAのコードのトピックを纏めています。

「エクセルVBA最速理解」の記事一覧を開く

 

今回の記事はここまでです。   最後までご覧いただき有難うございました。

 

 

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。