血液型占い作成 (ユーザーフォームを使用) 今回は新たにユーザー

第6回 VBA 勉強会 2014/6/19
血液型占い作成 (ユーザーフォームを使用)
今回は新たにユーザーフォームを使用して「血液型占い」のマクロを作成してみます。
ユーザーフォームを利用すると、複雑な
マクロを簡単に作成できることがあります。
見た目もきれいです。
図のようなユーザーフォームを作成して
みます。
血液型にチェックを入れて、下の四角を
クリックすると本日の運勢がメッセージボ
ックスに表示されるという様式で作成しま
す。(但し、占いの結果は素人がいい加減に出
したものです。)
まず、ユーザーフォームを挿入します。 エクセルの[開発]タブから[Visual Basic]画面を出
して、挿入→ユーザーフォームの順にクリックします。
ツールボックスのラベル(A のボタン)をクリックして、ユーザーフォームの上のほうをドラッグして
タイトル欄を描きます。
同様に、オプションボタンを4個、コマンドボタンを1個描きます。
コマンドボタンはマクロを動かすための最重要ボタンです。(後ほどこのボタンをダブルクリック
してプログラムを記述します。)
それぞれのボタンを選択して、画面左下の「プロパティ」で文字サイズや色などを設定します。
ボタンのサイズはドラッグで変更します。
まず、ユーザーフォーム内の余白をクリックして、フォーム全体の書式設定をします。
BackColor, BorderColor, BorderStyle, Caption を変更してみます。
Backcolor, BorderColor: 欄内をクリックして▼をクリック→[パレット]タブで変更
BorderStyle:
欄内をクリックして▼をクリック→1-fmBorderStyleSingle を選択
Caption
欄内に入力(この場合は「血液型占い」と入力)
次に Label の四角をクリックし、上と同様に Caption, BackColor, BackStyle, BorderColor,
BorderStyle, ForeColor(フォントの色)を変更します。
Font は欄内をクリックし、3つの点が付いたボタンをクリックしてサイズやスタイルを設定します。
同様に、Option Button と Command Button もお好みでデザイン設定します。
ボタンの配置を整えます。[書式]メニューから配置や余白等整えることができます。
第6回 VBA 勉強会 2014/6/19
血液型占い作成 (ユーザーフォームを使用)
次にいよいよマクロの記述です。 コマンドボタンをダブルクリックしてください。
記述画面に変わります。
Private Sub CommandButton1_Click( )
End Sub
が既に記述されています。
If 構文を使用して、それぞれの血液型のボタン(Option Button)が選択された場合(true だ
った場合)の運勢を記述していきます。以下は実際のプログラミングです。
Private Sub CommandButton1_Click( )
Option Button にはそれぞれ番号が付いている
If OptionButton1 = True Then
ので、簡単に指定できます。
MsgBox "今日の運勢は最高です!"
プロパティ画面で番号を確認できます。
ElseIf OptionButton2 = True Then
MsgBox "今日の運勢は普通です。"
ElseIf OptionButton3 = True Then
MsgBox "今日の運勢は普通よりややいいです!"
最後の Option Button(AB 型)は、Else で
Else
指定できます。
MsgBox "今日は何をやってもダメです。"
コード(プログラミング)の表示画面とオブジェクト
End If
の表示画面の切り替えは、画面左側の
End Sub
「UserForm」を右クリックすればできます。
以上でユーザーフォームを利用した占いのマクロの記述は完了しましたが、このままでは折角
作成したユーザーフォームを表示させることができません。
表示するには、[挿入]メニューから標準モジュールを挿入し、以下のマクロを作成します。
Sub ユーザーフォーム表示( )
UserForm1.Show
画面左側に表記されている
End Sub
UserForm の名前を入れます。
エクセル画面に適当なボタン又はイラストを挿入して、「ユーザーフォーム表示」のマクロを登
録して完成です! 「マクロ有効ブック」として保存します。
尚、占いの内容は、根拠のあるものを毎日書き換えるのが望ましいです(^.^;