思考酒後

思考酒後

自分に入ってきた情報を定着、深化するために文章化

MENU

【Excelマクロ】ユーザーフォームの使い方を理解したから、分かりやすく解説するよの追記

こんばんは、masa@ masa)です!

先の記事では「とりあえず使えるようになる」という位置付けでしたが、今回はもう少し踏み込んで「こんなこともできます」について書いていきたいと思います。

 

▼読んでみて、同じことをしてみるとユーザーフォームの仕組みが分かります!

masa-mn.hatenablog.com

 

f:id:masa_mn:20170317211651j:plain

 

①最初からテキストボックスを選択した状態にできないの?いちいち選択するのめんどくさいよ?

できます!

まず、 Alt + F11でエディターを起動し、作成したユーザーフォームを選択します。

次に右クリックをすると以下の画面が出てきます。

f:id:masa_mn:20170406190056p:plain

 

「タブオーダー」をクリックすると以下の画面が出てきます。

f:id:masa_mn:20170406190218p:plain

 

このタブオーダーの順番がアクティブとなるプロパティ(テキストボックスとかラベルとか)の順番とります。

最初に表示させたいものを一番上にしておくとユーザーフォームを開いた直後からそれがアクティブになります。

 

上記状態ですと「text1」が最上部なのユーザーフォームを開いた直後にテキストボックスに文字入力ができるようになります。

 

②テキストボックスの鉛直方向の中央揃えできないの?

できます。

鉛直方向の中央揃え

鉛直方向の中央揃えは初期設定が与えられておらず、組み合わせる必要があります。

 

組合わせについては以下のようになります。

f:id:masa_mn:20170318113035j:plain

テキストボックス風に見せてるラベル階層がラベルよりも上にある透明のテキストボックスにより、テキストボックスの鉛直方向の中央揃えをしているように表示させることができます。

 

水平方向の中央揃え

水平方向の中央揃えは初期設定が与えられています。

プロパティの全体に「TextAlign」というコマンドがあり、そこで2を選ぶと中央揃えになります。同様に1は左揃え、3は右揃えです。

f:id:masa_mn:20170406190939p:plain

 

③テキストボックスに入力するとき、勝手に半角英数になるように設定できないの?

テキストボックスの入力方式は初期設定が与えられています。

半角英数はプロパティの「IME Mode」というコマンドがあり、そこで8を選ぶと半角英数になります。

それぞれの数字の機能は以下のようになっています。

  • 4:全角ひらがな
  • 5:全角カタカナ
  • 6:半角カタカナ
  • 7:全角英数

f:id:masa_mn:20170406191410p:plain

④未入力で登録ボタンを押したとき、警告できないの?

できます!

イメージとしては以下の図のような処理です。

f:id:masa_mn:20170318112733j:plain

 

未入力の場合は、メッセージボックスが表示され、再度テキストボックスに入力する必要があります。

入力済みの場合は、処理が進み、処理が終わると①テキストボックスの入力値が削除され、②マクロ自体も終了します。

f:id:masa_mn:20170406192937p:plain

 

とまぁこんな感じです。おしまい。