• 締切済み

ユーザーフォームのHide,showメソッド

ExcelのVBAでユーザーフォームをHideメソッドで非表示にして、 showで再表示すれば、状態が保存されたまま表示されるはずですが、 ユーザーフォーム表示中またはHideメソッドで隠した後に コマンドボタン等が配置されたシートを削除したときは、showで再表示しても、 ユーザーフォームの状態が保存されていません。 これはどうしてでしょうか? また解決策等ありましたら、教えてください。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

どうやっても、症状が再現しません 非表示の、コード、手順の詳細があれば、分かるかもしれない 回避策は、セルや変数に値を保存するぐらいしかないね

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

userformのtextbox、listBox、comboBoxなどの値が消えるのかな プロパティのControlSourceにセルを設定していませんか だとしたら、ControlSourceはセルにリンクを張るだけなので リンク先があるシートが削除されれば値は消えます 値を保持するなら、どこかで意識的に値をvalueに代入しなければいけません 一例 'ボタンを押したら Private Sub CommandButton1_Click() TextBox1.Value = ActiveSheet.Range("a2").Value End Sub 'userformを表示する時 Private Sub UserForm_Initialize() TextBox1.Value = ActiveSheet.Range("a1").Value End Sub 外したら、無視して

50000
質問者

補足

TextBox1.Value = ActiveSheet.Range("a2").Value この例のようにValueに代入していますし、削除するシートもフォームに代入 するデータがあるシートとは別のシートです。

関連するQ&A

専門家に質問してみよう