シートに設置したコマンドボタンとプロシージャーを紐づけます。コードはシートモジュールに記述していきます。
その他ブックモジュールにイベントコードも記述します。
こんにちは、じゅんぱ店長(@junpa33)です。
今回は、初期設定項目シートで設置した各コマンドボタンと、プロシージャーとを紐づけするエクセルVBAコードを作っていきます。
その他に、時給計算表を開いたときに対象者のデータがクリアされるコードも記述しておきます。
時給計算表作成の記事編成
- 時給計算表作成エクセルソフトの使い方とダウンロード
コンテンツ
コントロールとプロシージャーの紐づけのVBA
初期設定項目シートに設置したコントロールのイベントに対して、その動作に対応するプロシージャーを指定していきます。
シートモジュールに記述する
今まで、標準モジュール(Module1、Module2、Module3)で記述してきましたそれぞれのプロシージャーを、コントロールと紐づけていきます。
この紐づけるコードは、コントロールの置かれている「初期設定項目」の「シートモジュール」に記述します。
VBEのプロジェクトエクスプローラーの「Sheet1(初期設定項目)」というモジュールです。
この12個のコントロールに紐づけを行います。
「Sheet1(初期設定項目)」のシートモジュールに記述していきます。
部品化プロシージャーでCallステートメントは必須Private Sub 計算表初期化_Click()
Call Module1.クリアH
Call Module1.シート削除
End Sub
Private Sub 対象者計算Book作成_Click()
Call Module1.対象者用時間計算作成
End Sub
Private Sub Book保存_Click()
Call Module1.ブックを保存
End Sub
Private Sub テンプレート作成_Click()
Call Module2.テンプレート
End Sub
Private Sub 勤務時間計算_Click()
Call Module2.時間計算
End Sub
Private Sub 給与計算_Click()
Call Module2.金額計算
Call Module2.合計計算
End Sub
Private Sub マルメ_Click()
Call Module2.マルメ計算
End Sub
Private Sub 計算シートの保存_Click()
Call Module3.シート保存
End Sub
Private Sub シートリスト作成_Click()
Call Module3.シート名
End Sub
Private Sub シート印刷_Click()
Call Module3.シート印刷
End Sub
Private Sub シートリストクリア_Click()
Call Module3.コンボリストクリア
End Sub
Private Sub Worksheet_Activate()
計算シートカスタム保存.LinkedCell = Range("E10").Address
End Sub
ブックを開いたときに起動するVBA
コードは、「This Workbook」の「ブックモジュール」に記述します。
ブックモジュールに記述するコード
テンプレートBookの「時給計算表.xlsm」を開くときに、
初期設定項目の「対象者」項目のデータをクリアしておきます。
Private Sub Workbook_Open()
Dim FileName As String
FileName = ThisWorkbook.Name
If FileName = "時給計算表.xlsm" Then
Worksheets("初期設定項目").Range("C6") = ""
End If
End Sub
プロシージャーとの紐づけのまとめ
この記事でコマンドボタンとプロシージャーを繋げることが出来ました。
紐付けのコード自体は、プロシージャーの呼び出しコードですので、
記述は非常に簡単です。
プロジェクト(モジュール全体)の中で、それぞれのプロシージャー名の重複は禁止されています。
この記事で紹介している紐づけコードには、
どのモジュールに属しているプロシージャーかまで記述しています。
これは後々のメンテナンスで、どこにあるプロシージャーかを見つけやすくするためです。
(本来的には、唯一の名前ですので、記述しなくても十分動作させることは出来ます。)
次回は、この時給計算表作成ソフトの使い方を始めから通して説明します。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。