Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
この構文は、UserFormのボタンClick などと同じ所に書かなければ実行しません。
警告文を表示したい場合は、このように [Caption]に表示する方法や、メッセージボックスで
警告する方法が考えられます。
このプログラムは、[×] をクリックしても何も起こりません。
ユーザーフォームの中の[検索]を押したとき、他の処理の後にユーザーフォームを閉じる
ように、プログラムを設定してあったり、[終了]のボタンがあって、それを押したときに
やらなければならない処理を先にするためには、必ず[終了]ボタンを押してほしい時など
に [×] ボタンを無効にする必要があります。
● ユーザーフォームの右上の [×] ボタンを無効にする。
このように、& vbCrLf & を折り返し文字位置に挿入する。
"これは" & vbCrLf & "すでに" & CrLf & "注文した" & CrLf & "注文番号です" の
様に & CrLf & を何ヶ所に入れても良い。
表示文字を折り返したい時は、
[既存注文書番号]文字をクリックすると、メッセージボックスが表示されます。
メッセージボックスの構文は基本的にこのように書きます。
[プロパティウインドウ]で見ると、[既存注文書番号]はオブジェクト名[Label1]になって
Private Sub Label1_Click で間違いのないことが分かる。
[既存注文書番号]の文字をダブルクリックすると、Private Sub が表示される。
● ラベルの文字をクリックすると、メッセージを表示する。
[検索]ボタンをクリックすると、[抽出1]のボタンの文字が
[OK]に変わる。
● ボタンをクリックしたときに、他のボタンの文字を変更する。
[CB1]をクリックすると、CB2.Visible = False で[抽出2]が
非表示になる。
又、表示させる必要があるときには、CB.Visible = Trueと
記入すればよい。
Unload フォーム名 で表示されているフォームが消える。
[抽出1]をクリックすると、[抽出2]が非表示になる。
プログラムの、[CB1]は[抽出1]で、[CB2]は[抽出2]で、[CB3]は[検索]ボタンである。
● フォームのボタンを、何かクリックした時に非表示にする。
  このフォームの様に、抽出ボタンが2種類あって、どちらを選択したのか、自分でわからなくなるのを
  防ぐために、押していないボタンを非表示にしたい場合などに使用できる。
[フォームの表示位置2]は、モニター画面の端から、指定した位置に中心が来るように
表示される。
[フォーもの表示位置1]は、表示されているシートの真ん中にフォームの中心が来る
様に表示される。
Sheet2の見出しをクリックすると、Sheet2に移動できる。

フォーム名.Show vbModeless と記入すると、フォームが表示されている時でも参照移動ができる。

● フォームの表示位置
  表示位置によく使う、2種類の方法を紹介する。
[呼出2]をクリックすると、同じようにフォームが表示される。
[呼出1]をクリックすると、フォームが表示される。
その状態で、Sheet2のデータを参照する必要に迫られて、Sheet2の見出しをクリックしてもSheetに
移動することはできない。



Sheet1に[呼出1]と[呼出2]のボタンがあり、[呼出1]には[既存注文データ1]のプログラムを、[呼出2]には
[既存注文データ2]のプログラムが登録されている。
プログラムから開くには、上の様に2種類の方法があります。
違いを検証してみましょう。
[既存注文]と言う名前のユーザーフォームがあるとする。
●モーダレスと非モーダレスの違い


 
基本的なマクロの習得
ユーザーフォームの基本


実際に使っているシステムの内容で解説
  EXCEL VBA 講座