• ベストアンサー

Excel97マクロのUserForm

Excel97でUserFormを表示して 消すのにUnloadでは消えてくれません UserForm.show 処理1 処理2 unload UserForm としているのですが、なぜかUserForm.showで 止まったまま制御が流れません ちょっと教えていただけるとうれしいです

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

>止まったまま制御が流れません。 Excel97ですよね。 Excel97ではUserForm.show でUserFormは常にモーダルで開いています。同じアプリの他に制御を移す場合は、何か応答する必要があります。(Excel2000で変わった?) シートのメニューから色々なダイアログボックスを開くと、OKやキャンセルを押してダイアログボックスを消さないと次の処理ができないのと同じです。 UserForm.show を Msgbox "メッセージ表示中",vbokonly と変えてみると何が起きているか分かり易くないですか。入力待ちになってますよね。 色々な対応が可能でしょうが、UserForm_Activateで継続させる例です。(UserFormのコードウインドウ) Private Sub UserForm_Activate()   '処理1例   Worksheets("Sheet1").Range("A1:A3") = "テスト設定1"   '処理2例   Worksheets("Sheet1").Range("A5:A8") = "テスト設定2"   MsgBox "(例)フォームを消しますよ"   Unload Me 'Me.Hide   MsgBox "(例)フォームを消しました" End Sub

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • qhk
  • ベストアンサー率21% (3/14)
回答No.1

unload me では駄目ですか?

すると、全ての回答が全文表示されます。

関連するQ&A