| 
    
     |  | 新たな疑問にもお付き合い下さり有り難うございます。 
 1.変数dataの宣言はどうしていますか?
 
 2.data = Form入力.ListBox1.Value
 は、ユーザーフォームモジュールで処理するコードではないのでしょうか?
 Form入力.Showした時点で、ユーザーフォームモジュールに処理が移動し、
 ユーザーフォームを閉じた後に、
 data = Form入力.ListBox1.Value
 が実行されますが、すでに手作業でUFは閉じられていますよね?
 そのあとに、  Unload Form入力 しているのもよく分かりません。
 
 3.ユーザーフォームとそれ以外のプロシージャのコードの実行順序は
 把握されていますか?
 ----------------------------------------------
 1.について、dataは今のところ変数の宣言はしていません。問題ないと思います。
 
 2.について、当初はForm入力の中にcells(行,列)= Form入力.ListBox1.Valueを入れていましたが、Form入力の中でListBox1.Valueをセル代入したくないのです。
 セルに代入する前にListBox1.Valueと同じ値がシート上にあるかを点検しているためです。
 それと、sheet1に値が変化したときに働くイベントブロージャPrivate Sub Worksheet_Change(ByVal Target As Range)があるため、これが動き出す前に点検したいのです。
 
 Unload Form入力はForm入力をリセットするためです。
 そうしないと別のセルで前回と同じ値が入力できないからです。
 Unload Form入力 'Form入力をリセット
 Form入力.Show
 でも動作します。この方がいいかなと思っています。
 
 なぜFLAGに代入したのに、Unload Form入力を
 If FLAG = 1 Then Cells(行, 列) = data
 の後にしなければいけないのか。
 
 3.について、ユーザーフォームとそれ以外のプロシージャのコードの実行順序は、今のところ2.の関係で変更なしでやることにしています。
 
 当初の問題は解決しましたので助かっています。
 
 
 |  |