見出し画像

エクセルのユーザーフォーム作成をVBAでトライ 【第1回】

ユーザーフォームは業務の平準化に便利ですが、フォームの大きさ、フォーム中のパーツの配置の調整とか結構面倒で、何とかならないかと考えていたところ、いい考えが浮かびました。

既に作成済のユーザーフォームをコピーしてCaption(表示文字)を変更したり、テキストボックスの個数を変えたりできれば楽になるだろうと。。。

VBAで、既存のユーザーフォームからそういった情報を取り出せることがわかりました。
どういった情報を取り出すかは、どれだけ凝った作り方をしているかによると思いますが、私なら以下の情報程度で間に合いそうです。

例えば上のユーザーフォームなら、以下の情報くらいでいけそうです。

この情報なら以下のコーディングでいけました。

情報をゲットしたいユーザーフォーム名は変数にしておいた方が汎用性が高まるので、UserForm As Objectで定義し、使いまわしし易いようにクラスモジュールの中の"汎用"に登録しておき、以下のようにCallで実行すると、シート"Settings"に情報が書き出されます。

書き出したSettingsシートの情報から別のユーザーフォームを作るVBAは次回トライしようと思います。これでユーザーフォーム作成の面倒な微調整から解放させることを期待して。

いいなと思ったら応援しよう!

KJ N
よろしければ応援お願いします。頂いたチップはクリエイターとしての活動費に使わせて頂きます。