VBAに関するフォーラムです。解決済みのトピックにはコメントできません。このトピックは解決済みです。ななつぼしオブジェクトを変数にまとめると、エラーが発生する場合があり対策がわからず困っています。変数に代入してまとめて管理する。イベントをまとめて検知する。名前と値を取得して表示する。"A3"ダブルクリックで取得した名前と値を代入する。Withこのコードではエラーが発生してしまう。Box.Text以下は、実際のコードです。"[OK]をクリックして継続すると、下記のエラーが発生します。ブロック変数が設定されていません。WinArrowコード内容がややこしいことになっていませんか?↓のコードが起因していると思いますが。コードをシンプルにしましょう。様ご回答ありがとうございます。お分かり難いかと存じます。Null値を代入する場合。Null値を代入する場合。エラーは発生しません。代入する下記のコードではエラーが発生してしまいます。ブロック変数が設定されていません。下記のコードで対応しています。多い場合に変数に代入したいのです。仕方なく�Cで対応しています。良いお知恵をお願いいたします。WinArrow同類のコントロールのイベントを共通化する手法としてコントロール配列という手法を紹介します。モジュールとしては、ユーザーフォームとクラスモジュールを使います。UserForm1です。このコードが実行されるたびに、Useform_Initializeが再実行され変数が初期化されてしまいます。ブロック変数が設定されていません。いう意味不明なエラーになります。ステップ実行すれば、動きと変数の内容(ローカルウインドウ)が確認できます。原因未確認ですが、TextBox5をダブルクリックしたときだけしか、反応しません。以上がコードに対する検証です。コントロール名は、Excelが勝手につけた名前より、自分で分かりやすい名前をつけた方がわかりやすいコードとなることもありコントロール配列を使う方法を提案しました。Null値を代入する場合。Null値を代入する場合。エラーは発生しません。Userform1型のインスタンスは全部で6つありますよね。これが頭に入ってないと始まらないです。直接的な操作の対象になっているのは、いわば「原UF」です。