アクセス数
健康情報 ⇒ どこへ向かって・・・ ⇒ VBAトップ ⇒ コントロール
Microsoft ExcelのVBAには、ボタンなど様々なコントロールが用意されています。
@例えばボタンコントロール
ツールバー(Visual Basic)を表示@し、そこで出てくる金槌とスパナの画像Aをクリックすると、コントロールパネル(一覧)が表示されます。その中のBをクリックしてワークシート上に適度な大きさに調節してドロップすると、ボタンコントロールが貼り付けられます。
CommandButto(n1)と書かれているのがボタンコントロール。
コントロールパネル(一覧)の三角定規やペンが選択されている(今の状態⇒デザインモードと呼びます)では、コントロールのプロパティやイベントプログラムなどを設定でき、三角定規をクリックして解除すると、ボタンが押せる状態(普通一般的なボタンの動作)になります。
(ボタンの右下にある三角定規も同じ働きをしますが、解除(クリック)すると消えます。)
三角定規の隣の「紙を持っているような画像」をクリックすると、コントロールのプロパティが表示されます。
デザインモードでコマンドボタンをダブルクリックすると、以下の画面が開きます。
デフォルトではClickイベントが割り当てられていますが、図のように、コマンドボタンには多くのイベントが用意されています。
コントロールパネルの下にある「金槌とスパナ」をクリックすると、多くのコントロールが表示されます。
中にはインターネットを見るためのWEBブラウザーコントロールなどもあり、Excelの使い方の幅が広がります。
Aよくあるプログラムのように、フォームを作ってみる
Excelのワークシート上にボタンなどが並んでいても、なんだか見た目が・・・ というのであれば、フォームを作ってみる価値はあります。見た目が良く、ワークシートを印刷する場合にも邪魔になりません。
Visual Basicの画面より、「挿入(I)」⇒「ユーザーフォーム(U)」とすると、AとBが開き、A(ユーザーフォーム)の上にBのコントローム)にボタンなどのコントロールを乗せていくことになります。
ユーザーフォームを使えば、殆ど普通のプログラムが作れます。
もちろん、限界もありますが。
●ユーザーフォームの開き方
何かしらのイベントを利用して以下のコードを実行させます。
UserForm1.Show
この開き方はモーダル(Excelのシートが使えません)で開きます。
Excelのシートと連携させたい場合には、
UserForm1.Show vbModeless
と、モードレスで開きます。
モードレスは、確かExcel2000からの機能だったように思います。
以前のバージョン(Excel97)では、Windows API を使うか、Ref Editコントロール(のバグを利用したもの)を使っていました。