戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
UserForm1とUserForm2を切り替える方法

    [194790] UserForm1とUserForm2を切り替える方法-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ ルコト -(2022/03/22(16:04))
    □U R L/

      UserForm1は一覧になっており、
      UserForm2は、一覧からクリックした詳細画面としています。

      UserForm1のリストをダブルクリックしたら
      UuserForm2にリストの内容を表示。
      UserForm2を閉じるか、「保存」ボタンを押すと
      UserForm1の画面に戻る というような動作をさせようと思っています。

      UserForm1のリストクリック時には、
       Unload Me
       UserForm2.show

      UserForm2の「保存」またはQueryCloseに
       Unload Me
      UserForm1.show と入力しました。

      UserForm1→UserForm2 は問題なく開きます。
      UserForm2を閉じようとすると、UserForm2が背面に残り続けます。

      UserForm2を最初に起動し、画面を閉じようとしても
      同じようにUserfrom2が背面に残るのです。

      ShowとHideにしても同じでした。
      フォーム操作中にExcelを操作されたくないため、モードレス?にはしてません。

      QueryCloseで動かしたあとに背面に残ったUserform2が上手く消えないのですが、
      どのようにしたら消せるのでしょうか?




    [194796] Re[1]: UserForm1とUserForm2を切り替える方法-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2022/03/23(11:30))
    □U R L/
      >フォーム操作中にExcelを操作されたくないため、モードレス?にはしてません。
      
      と言うことは、最初のUserform1のダブルクリックのイベントプロシージャから
      一歩も抜け出てないってことですよね?
      
      Userformの内部がどんな仕掛けなっているか分からないですが、
      何か不具合が出てもおかしくない気がします。
      
      こんなので、とにかくイベントプロシージャを抜けたらどうですか?
      
      '---標準モジュール---
      Sub UFreopen1()
          UserForm1.Show
      End Sub
      
      Sub UFreopen2()
          UserForm2.Show
      End Sub
      
      ---Userform1モジュール---
      Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
          Me.Hide
          Application.OnTime Now, "UFreopen2"
      End Sub
      
      ---Userform2モジュール---
      Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
          Application.OnTime Now, "UFreopen1"
      End Sub
      
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194798] Re[2]: UserForm1とUserForm2を切り替える方法-

    保留中です・・・ / 記事引用/メール受信=OFF■

    □投稿者/ ルコト -(2022/03/23(13:22))
    □U R L/
       半平太さま
      回答ありがとうございます。
      
      Unloadを使っていたのが問題かもしれません。
      以下にしたところ再現しなくなりました。たぶん。
      
      UserForm1
      
      Private Sub CommandButton1_Click()
          Me.Hide
          UserForm2.Show
      End Sub
      
      
      UserForm2
      Private Sub CommandButton1_Click()
          Me.Hide
          UserForm1.Show
      End Sub
      
      Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
         Me.Hide
          UserForm1.Show
      End Sub
      
      動作確認中です。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194799] Re[3]: UserForm1とUserForm2を切り替える方法-

    記事引用/メール受信=OFF■

    □投稿者/ ルコト -(2022/03/23(13:34))
    □U R L/

      UserForm1を開いてF5で起動 ※とりあえず標準モジュールから起動しないで動作確認
      UserForm1が起動する→CommandButton1をクリック → UserForm2が起動
      UserForm2の右上の×をクリック→UserForm1が起動
      UserForm1のCommandButton1をクリック→UserForm2が起動
      UserForm2の右上の×が反応しない





    [194801] Re[4]: UserForm1とUserForm2を切り替える方法-

    記事引用/メール受信=OFF■

    □投稿者/ ax -(2022/03/28(09:55))
    □U R L/

      状況としては
      QueryClose内でUserForm1.Showしているため
      UserForm1を閉じるまでコードの実行が先に進まず
      QueryCloseが実行中のままになっているから。




    [194803] Re[5]: UserForm1とUserForm2を切り替える方法-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ ルコト -(2022/03/31(08:25))
    □U R L/

      ax様
      説明ありがとうございます!
      解決しました!



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G