小規模老人保健施設の給食業務向けExcelVBA練習帳、給食帳票管理にVBAを活用、UserFormからセルを操作する1、フォームを作って表示する

Excel VBA

UserFormからセルを操作する1

今回からVBAの初心者用解説を始めます。

第一回目はフォームを作って様々なコントロールを配置する要領を練習します。

UserForm作成

■Excelの無地のシートを開く(青枠部分

■シートが開いたらAltキー + F11 でVBAエディターを開く(赤枠部分

 

■左上のプロジェクトウインドウで

Microsoft Excel Objectをポイントして右クリックメニューを出す

メニュー  → 挿入(N) → ユーザーフォーム(U) と 順にクリックしていくと

 

■フォームが開きます

■プロジェクトウインドウにUserForm1と自動的に入ります。

■プロパティーウインドウではオブジェクト名の項目にUserForm1と自動的に入ります。ちょっと長たらしい名前ですがここではこのまま使用していきます。

プロパティーとはそのオブジェクト(ここではUserForm1)が持っている性格を表現する様々な値が設定されていてこの値を取得したり設定したりすることで効率よくプログラミングすることができます。例えば、オブジェクト名をTestFormと変更したとします、すると以降のプログラムコード中ではこのフォームをTestFormと表記することができます。

■フォームにコントロールを貼り付ける

空の状態のフォームをマウスでタッチすると、その付近に小さいツールボックスが出てくるので

赤線で示したラベル、青線で示したテキストボックス、黄線のコマンドボタンをそれぞれドラックアンドドロップします。場所はどこでもいいです。後でそのコントロールをポイントすると場所や大きさなどは自由に変更できます。

ドラッグアンドドロップとはそのコントロールをポイントして(クリックして)そのまま(クリックしたまま指を離さないで)マウスでフォーム上の適当な場所まで引きずって指を離すことをいいます。

 

フォームを表示するプログラムを書く

■プロジェクトウインドウでThisWorkbookと書いてあるところをダブルクリックするとコードウインドウが開きます(ここでは黒い画面ですが、最初何もしていなければ白地の画面が開きます

■画面の色を設定にするには
エディター画面のメニューから、ツール → オプション(O)を順にクリックする

オプションウインドウが開くのでエディターの設定タブをタッチして赤丸囲みの部分を変更してサンプルで確認したら、OKボタンでオプション画面を閉じます。

■コードはどこに書きますか?

先ほど開いたコードウインドウの左上にあるボックスの▼ボタンをクリックするをリストが開くのでその中からWorkbook(赤線部分)を選択します

■下図のようなSubプロシージャが自動的に書き込まれます(線は説明のために付け足したので実際はありません)

■ この二行のコードの間に、表現したい動作のコードを書いていきます。

 

■ 例としてこのブックを開いたとき自動的にこのフォームが開くコードを一行だけ書きます。

そのコードは UserForm1.Show  です。以下は具体的な書き方です。

■そのままストレートにキーボードからuserform1.showと書き込んだ場合、スペルに間違いが無ければUserForm1.Showと自動的に小文字で入力した部分が大文字に変換されて表示されます。

■インテリセンスを使う方法もあります。userと書いたところでCtrlキー + シフトキーを押すと入力候補を表示するインテリセンスがひらきますから、その中からUserForm1を見つけて選択します

■UserForm1が入ったところで次にドット (.)を打ちます

更に入力候補が出るのでsを打つと、sで始まる候補が出るのでShowを見つけて選択します

 

コードはこれだけです。こんな風にしてコードを書き上げたら、この状態を保存します

下図のメニューアイコンから上書き保存を選択してクリックします。

■ ブックを初めて保存するときは名前を付けて保存の画面になります

ここではデスクトップに保存するので左側のフォルダー欄でデスクトップを選択します

ファイル名は自動では Book1 となりますが、適当に名前を変更してもOKです

次にファイルの種類リストを開けて Excel マクロ有効ブックを選択します。

これ以外のファイルの種類を選択すると上手くいきません。

これで保存ボタンをクリックすると保存は終了ですから、このVBAエディター画面とブック本体も×ボタンで閉じてください。

■最後にデスクトップに先ほど保存したエクセルブックがあるので開いてください。

下図のように自動的にUserForm1が開きましたでしょうか?

■今回はここまで。

次回は具体的にフォームに配置したコントロールを使って色々コードを書いてみることにしましょう。

コメント

タイトルとURLをコピーしました