みなさん、こんにちはケンケンです。
今回からユーザーフォームでよく使うテクニックを紹介していきます。
今回は、チェックボックスを紹介します。
チェックボックスは、チェックシートなんかで見るレ点を付けるものです。
それでは、早速作ってみましょう。
資料は以前ご紹介したものを使っていきます。
こちらでご覧いただいてからの方が理解は早いと思います。
チェックボックスの作り方
それでは、チェックボックスを作って行きますが、そのまえに以前に作成したエクセルシートの「I列」に在職OR退職を表現する列を設けます。
続いてフォームにチェックボックスを配置します。
VBEを起動してフォーム画面を開きます。
ツールボックスからチェックボックスをクリックし、フォームに配置します。
配置が完了したら、オブジェクト名とCaptionを変更します。
オブジェクト名は「chkTaisyoku」、Captionは「退職」とします。
チェックボックスはValueプロパティが「True」のときにㇾ点が入り、「False」のときに空欄になります。
この性質を生かして、Trueの時に「退職」、Falseの時に「在職」とエクセルシートに書き出すコードを記述します。
Ifを使った条件分岐の出番ですね。以前書いたコードに追加します。
「入力」ボタンをダブルクリックし、該当のプロシージャを開きます。
btnInput_Clickプロシージャに以下のように追記します。
Private Sub btnInput_Click() Dim Lrow Lrow = Range("A" & Rows.Count).End(xlUp).Row If Lrow = 1 Then Range("A2").Value = 1 Else Range("A" & Lrow + 1).Value = WorksheetFunction.Max(Range("A2"), Range("A" & Lrow)) + 1 End If Range("B" & Lrow + 1).Value = Userform1.txtName.Text Range("C" & Lrow + 1).Value = Userform1.txtFurigana.Text Range("D" & Lrow + 1).Value = Userform1.txtAge.Text Range("E" & Lrow + 1).Value = Userform1.txtJyusyo.Text Range("F" & Lrow + 1).Value = Userform1.txtTel.Text Range("G" & Lrow + 1).Value = Userform1.txtMail.Text Range("H" & Lrow + 1).Value = Userform1.txtTel2.Text '------------------------------この下を追加---------------------------------- If chkTaisyoku.Value = True Then'① Range("I" & Lrow + 1).Value = "退職"'② Else Range("I" & Lrow + 1).Value = "在職"'③ End If End Sub
①条件分岐の前提としてchkTaisyokuのValueプロパティがTrueのとき、つまり、チェックボックスにチェックが入っているときは、という意味です。
②I列最終行の値を「退職」にします。
③chkTaisyokuのValueプロパティがTrueでないとき、つまりFalseでチェックボックスが空欄のときは、
I列最終行の値を「在職」にします。
コードが書けたらフォームを起動して、実際にデータを入力してみましょう。
上図のように入力します。チェックボックスにレ点を入れます。
そして、入力ボタンをクリックします。
ちゃんと転記できました。
今度は、チェックボックスが空欄の場合に「在職」と転記されるか確かめてみましょう。
空欄のときは、「在職」と表記されました。
これがチェックボックスの使い方の基本です。
TrueとFalseをうまく使い分けて条件分岐させると使い勝手が良くなります。
余談ですが、I列が退職の時と在職の時で業務内容を分岐させるとさらに改善することが可能になるかと思います。
以上となりますが、今回も参考にしていただければ幸いです。
それでは、また次回お会いしましょう。
みなさん、こんにちはケンケンです。 今回は、ユーザーフォームのリストボックスをご紹介します。 リストボックスはフォーム上にデータリストを表示したり選択することが出来ます。 資料は以前[…]
ユーザーフォーム活用関連記事一覧
【ExcelVBA】ユーザーフォーム活用の基礎【業務改善の強力な武器になります】
【ExcelVBA】ユーザーフォーム活用テクニック編【チェックボックス】
【ExcelVBA】ユーザーフォーム活用テクニック編【イニシャライズとリストボックス】
【ExcelVBA】ユーザーフォーム活用テクニック編【スクロールバーについて】
【ExcelVBA】ユーザーフォーム活用【リストボックスから選択・メッセージボックス活用】
【ExcelVBA】ユーザーフォームを作りこむ【コンボボックスの使い方】
ここまで読んだ方におすすめ
【ExcelVBA】指定した範囲だけスクロールさせる【イベントの基本】
【ExcelVBA】文字列操作で業務を快適に①【Left関数Right関数Mid関数】
【ExcelVBA】文字列操作で業務を快適に②【Instr関数を使いこなす】
VBAの基本を復習したい方におすすめ
【エクセルVBA入門編②】めんどうな仕事はForNext構文で解決
【エクセルVBA入門編③】繰り返し作業はFor Next構文で完全自動化!
【エクセルVBA入門編⑤】If Then構文で条件分岐をマスター
【エクセルVBA入門編⑥】手順に沿って請求書を作成してみよう【請求書作成自動化】