UserFormからセルを操作する1
今回からVBAの初心者用解説を始めます。
第一回目はフォームを作って様々なコントロールを配置する要領を練習します。
UserForm作成
■Excelの無地のシートを開く(青枠部分)
■シートが開いたらAltキー + F11 でVBAエディターを開く(赤枠部分)
■左上のプロジェクトウインドウで
Microsoft Excel Objectをポイントして右クリックメニューを出す
メニュー → 挿入(N) → ユーザーフォーム(U) と 順にクリックしていくと
■フォームが開きます
■プロジェクトウインドウにUserForm1と自動的に入ります。
■プロパティーウインドウではオブジェクト名の項目にUserForm1と自動的に入ります。ちょっと長たらしい名前ですがここではこのまま使用していきます。
■フォームにコントロールを貼り付ける
空の状態のフォームをマウスでタッチすると、その付近に小さいツールボックスが出てくるので
赤線で示したラベル、青線で示したテキストボックス、黄線のコマンドボタンをそれぞれドラックアンドドロップします。場所はどこでもいいです。後でそのコントロールをポイントすると場所や大きさなどは自由に変更できます。
フォームを表示するプログラムを書く
■プロジェクトウインドウでThisWorkbookと書いてあるところをダブルクリックするとコードウインドウが開きます(ここでは黒い画面ですが、最初何もしていなければ白地の画面が開きます)
■コードはどこに書きますか?
先ほど開いたコードウインドウの左上にあるボックスの▼ボタンをクリックするをリストが開くのでその中からWorkbook(赤線部分)を選択します
■下図のようなSubプロシージャが自動的に書き込まれます(赤線は説明のために付け足したので実際はありません)
■ この二行のコードの間に、表現したい動作のコードを書いていきます。
■ 例としてこのブックを開いたとき自動的にこのフォームが開くコードを一行だけ書きます。
そのコードは UserForm1.Show です。以下は具体的な書き方です。
■そのままストレートにキーボードからuserform1.showと書き込んだ場合、スペルに間違いが無ければUserForm1.Showと自動的に小文字で入力した部分が大文字に変換されて表示されます。
■インテリセンスを使う方法もあります。userと書いたところでCtrlキー + シフトキーを押すと入力候補を表示するインテリセンスがひらきますから、その中からUserForm1を見つけて選択します
■UserForm1が入ったところで次にドット (.)を打ちます
更に入力候補が出るのでsを打つと、sで始まる候補が出るのでShowを見つけて選択します
コードはこれだけです。こんな風にしてコードを書き上げたら、この状態を保存します
下図のメニューアイコンから上書き保存を選択してクリックします。
■ ブックを初めて保存するときは名前を付けて保存の画面になります
ここではデスクトップに保存するので左側のフォルダー欄でデスクトップを選択します
ファイル名は自動では Book1 となりますが、適当に名前を変更してもOKです
次にファイルの種類リストを開けて Excel マクロ有効ブックを選択します。
これ以外のファイルの種類を選択すると上手くいきません。
これで保存ボタンをクリックすると保存は終了ですから、このVBAエディター画面とブック本体も×ボタンで閉じてください。
■最後にデスクトップに先ほど保存したエクセルブックがあるので開いてください。
下図のように自動的にUserForm1が開きましたでしょうか?
■今回はここまで。
次回は具体的にフォームに配置したコントロールを使って色々コードを書いてみることにしましょう。
コメント