エクセルでユーザーフォームを使ったオリジナルの入力画面はとても便利で作業時間を大幅に削減してくれるので重宝していると思いますが、自分以外の人に使ってもらうと・・・
エラー表示が出て動かないよ~!
って言われ、予想もしない操作をされたのでエラーになった事ありませんか?
最初の頃はこんなことがトラブルがよく起こりましたので、今では必ず手順通りに進まないとメッセージを出してエラーになる前に動作を止めるようにしています。
エラー防止になる簡単なVBAコードなので、忘れずに入れておきましょう。
コマンドボタンの誤クリックを防ぐ
ユーザーフォームに配置した文字や数字を入力する為のテキストボックス。
一般的にこのテキストボックスに値を入力してからコマンドボタンを押すことによって、セルに転記させたり、動作を行ったりします。
ユーザーフォームを作った本人は当たり前の手順なのですが、他のスタッフなどは誤ってテキストボックスが空欄のままコマンドボタンを押してしまう事があります。
こうなると、動作を行う大前提のテキストボックスの値になにもない状態なのでプログラム上動けなくなってしまい、エラーになりますので下記のように考えましょう。
もし、テキストボックスが空欄時にコマンドボタンを押されたら、メッセージを出して作業を中止する。
正しく入力されていたらVBAコードに書かれている作業を実行する。
1つのテキストボックスが空欄の時
顧客番号を入力するテキストボックスが空欄の時に、「顧客番号が入力されていません」とメッセージを表示させます。
複数のテキストボックスが空欄の時
実際にユーザーフォームで様々なオリジナル入力フォームを使うようになると、2つ以上のテキストボックスが正確に入力されて実行することもよくあります。
例えば、商品名・単価・個数などテキストボックスの数が少なければ、並べてVBAコードを書けば大丈夫です。
こうすると3つのTextBoxのうち、ひとつでも空欄があればメッセージが表示され、すべて入力していれば、TextBox1の文字はA1へTextBox2の文字はB1へTextBox3の文字はC1へそれぞれ転記されます。
テキストボックスの数が3個ぐらいならいいけど10個もあったら、大変なので変数を使って省略することもできますよ!
こういう方法もありますよ!変数といってもそんなに難しくないので挑戦してね。
これを応用してメッセージ表示で「はい」「いいえ」を選べるようにもできるんですよ。
印刷実行ボタンを作った時に「印刷しますか?」と表示して選べるので便利ですよね
ユーザーフォームでオリジナルフォーム作ろう
エクセルの作業時間を短縮して効率よく作業を可能にする「ユーザーフォーム」を使いこなすには、基本を押さえておきましょう。
1日400人ぐらいの方が見ていただいている意外と人気ページなんです。
文字を入力するのに絶対使うTextBox
ユーザーフォームにテキストボックスを使わないで済むのは、確認画面ぐらいかな?
テキストボックスとセルをリンクさせる様々な方法を組み合わせれば、作業時間はあっという間に短縮できます。
文字列だけじゃない!Labelもクリックできるので可能性大
ラベルといえばテキストボックスの説明として文字列で表示させるのが、基本の使い方ですがクリックするとプログラムを実行させることもできるのです。
工夫次第でできることは無限大に広がります。
どんなVBAコードをコマンドボタンに記述しますか?
ボタンをクリックすると記述したプログラムが作動して、繰り返し作業や手間がかかったことが一瞬で完了させることができます。
あんなこともこんなこともできちゃいますよ。
ご覧いただきありがとうございます。
ブログランキングに登録しています。
少しでもお役に立てれば幸いで、参考になったようでしたら応援よろしくお願いします。
エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?