採点結果入力フォームの表示・非表示

「採点結果入力フォーム」を作成しましたので、フォームにデータを入力できるようにエクセル上に表示させます。入力が完了したらフォームを非表示に させるようマクロを組んで行きましょう。
1.マクロを最初に実行させるボタンをセットし、そのプロシージャにプログラムを組み込みます。
 1)実行ボタンの貼り付け
すでに説明しましたが再度簡単に説明します。「開発」→「挿入」→「ボタン(フォームコントロール)」をエクセルシート上に貼り付けます。
図1
 2)「マクロの登録」画面が表示されますので、「新規作成」をクリックします。図2
最初にボタンの貼り付けを失敗したりして何度か繰り返す度に「マクロ名」の「ボタン1_Click」の表示の末尾数字が増えてきますが問題ありませんので そのまま進めてください。
3)ボタン1のプロシージャのコードウィンドウ画面が表示されます。図3
 コードウィンドウの上部にはこのプロシージャの格納されている場所が表記されています。
「Module1」はプロジェクトウィンドウの「標準モジュール」フォルダーの「Module1」を表しています。
4)このプロシージャにプログラムを作成しましょう。
①採点結果入力フォームをエクセル上に表示(Show)させましょう。
 このフォームは「UserForm1」でしたので「UserForm1を表示(Show)させなさい。」となります。
プログラムとしては「UserForm1.(ドット)Show」となります。図4
プログラムを書く場合には、半角英数字で書きますが、マクロで定義された単語(userform、showなど)は大文字、小文字を区分して書く必要はあ りません。
「userform1.show」と書くと、「u」、「f」、「s」は自動的に大文字変換されます。変換されない場合には単語の綴りが間違えています。
また「UserForm1.」まで書くと、下図のようにこの後に書いて良い入力候補のリストが表示されます。
図5
この入力候補のリストより選択して(ここでは「Show」)ダブルクリックすると「userform1.」の後に書き込むこともできます。
単語の綴りをうろ覚えの場合には大変助かります。
②デバッグ表示された場合の対応:
 単語の綴り間違い、または「UserForm1.」の後に入力候補一覧以外の単語を書いた場合などにデバッグが表示されます。
例えば 「userform1.show」を「usarform1.show」と書いてマク ロを実行(先ほどエクセルに貼り付けたボタン1をクリック)した場合、
図9
下図のように「デバッグ」画面が表示されます。図7
「デバッグ」をクリックすると異常なプログラムの箇所が黄色に反転して表示されます。図8
その間違った箇所の訂正を行ないます。
次にウィンドウの上部にプログラムの「中断」が表示されていますので、「リセット」ボタンをクリックして、「中断」を解除しなければ再度プログラムを実行 することができませんので注意ください。
③コマンドボタン2(中止・終了)のプロシージャに入力フォームの非表示のプログラムの作成:
 ボタン1のプロシージャで入力フォームを表示させるようしましたので次に「非表示」させます。プロジェクトウィンドウの「フォーム」フォルダー内の 「UserForm1」をダブルクリックすると、UserForm1を再度コードウィンドウに表示させることができます。
「中止・終了」ボタンで右クリックしますと「メニュー」が表示されます。
図10
「コードの表示」をクリックするとコマンドボタン2をクリックした場合のプロシージャの画面が表示されます。
図11
ここに「入力フォーム(UserForm1)を非表示にしなさい」とプログラムします。非表示するは「Hide(隠す)」と書くだけです。
図12
実際に入力フォームを表示、非表示できるか確認してみましょう。
エクセルに戻り「ボタン1」をクリックし、入力フォーム表示させます。
入力フォームの「中止・終了」ボタンをクリックすると非表示なるのが確認できるでしょう。
エクセル上の「ボタン1」の表示を「入力開始」と書き換えましょう。書換え作業は前に説明しましたが再度簡単に説明します。「ボタン1」を右クリックし、 メニューの「テキストの編集」をクリックする。
図13
「ボタン1」の左端にカーソルが現れますので、「Delete」で「ボタン1」の表示を消して「入力開始」と書き込みます。
以上で入力フォームの「表示」、「非表示」のプログラムを説明しました。

 
次ページへ


サイドバータイトル
inserted by FC2 system