ユーザーフォームを使おう

ユーザーフォームとは聞きなれない言葉ですが、見てみると「ああっ、あれか」と
思うに違いありません。ユーザーフォームを使わないととても面倒な
ユーザーインターフェースになってしまいます。


■ この章で学ぶこと

TOPに戻る

ユーザーフォームを記入する場所を覚えよう

今までは標準フォームにコードを入力してきたと思いますが、
ユーザーフォームを動かしたい場合は違います。
左下図にユーザーフォームの追加方法、右下図にユーザーフォームのデフォルトの画面があります。
早速ユーザーフォームを追加してみましょう。

ユーザーフォーム追加方法 ユーザーフォーム雛形


追加されましたか?同時に右下図のツールボックスも表示されたと思います.
ここでツールボックスはかなり大事ですから整理しておこうと思います。

ツールボックス

ボタンの名前は覚えておいてください。
おいおい出てきますのでよろしくお願いします。

さて、ユーザーフォームの上にボタンを作成してみましょう。
ツールボックスからコマンドボタンを一度クリックします。

これで、コマンドボタン作成モードに入りますので、今度は
ユーザーフォームの上で作りたい範囲を囲みます。
これで完成したはずです。

左下図のように出来ましたか?
次にプロパティをいじってみましょう。Captionを”メッセージ表示”、またBackcolorのパレットで
色の変更もして見ましょう。

ユーザーフォーム雛形(ボタンつき) プロパティ

そこまで出来たら、あとは出来たボタンをダブルクリックしてください。
見慣れた画面が出てきたと思います(下図)。

コーディング場所
あとはここにコーディングするだけです。
ユーザーフォームを表示させるコードを勉強しましょう。
「ユーザーフォームを使おう」最初に戻る

■ ユーザーフォームを表示しよう

先ほど作成したユーザーフォームですが表示させないと意味がありません。
お分かりだと思いますが表示させるのもマクロを使用します。
以下のコーディングを入力(標準モジュールを追加して)してみてください。

Sub ユーザーフォーム表示()

 UserForm1.Show
  
End Sub

これだけでOKです。一度実行させてみてください。
ただ、ここで注意していただきたいのがUserform1というのは
最初作った時のデフォルトで設定されたユーザーフォームのオブジェクト名なので
変更した場合や、2個以上ユーザーフォームを作った場合には上記コードを
変更する必要があります。


「ユーザーフォームを使おう」最初に戻る



■ ユーザーフォームを体感しよう

ボタンの作成方法と、ユーザーフォームの表示のさせ方を勉強しましたので
一度体感してみたいと思います。
ここから、コーディングをどこにすればいいかの説明をしますので
ややこしくなりますが付いてきて下さい。
まず、下図のようなユーザーフォームを作ってください。

作成するユーザーフォーム

色の変更はプロパティのBackColor、Captionで変更できます。
(色変更はタブをパレットにしないといけないので注意してください。)

緑ボタンと赤ボタンをクリックして以下のコードを入力してください。
また、標準モジュールを1個挿入して下段のコードを記入してください。

Private Sub CommandButton1_Click()
    
    Cells.Select
    Selection.Interior.ColorIndex = 35

End Sub

Private Sub CommandButton2_Click()
    
    Cells.Select
    Selection.Interior.ColorIndex = 38
    
End Sub
Sub ユーザーフォーム表示()

 UserForm1.Show
  
End Sub

実行させてみてください。
緑、赤ボタンでそれぞれ画面の色が変化するはずです。

変化しない人は恐らくオブジェクト名が違っているはずです。
CommandButton1、CommandButton2、UserForm1はオブジェクトで
恐らく皆さんもそうなっているであろうということで記述しています。

一度プロパティのオブジェクトを確認してみてください。


「ユーザーフォームを使おう」最初に戻る


// このWebサイトのご意見・ご感想はvb@tentant.comまで //

Copyright (C) 2004 visualbasic.tentant.com.All righs reserved