[[20090406121721]] 『ユーザーフォームが表示されている事の認識』(shut)  ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ユーザーフォームが表示されている事の認識』(shut)
 Unload UF_comdbxの為に画面がちらつくのを防止したい。
 Application.ScreenUpdating = Falseは効果がありません。

 UF_comdbxの表示は、現状モーダレスですが、モーダレスでなく
 とも構いません。

 book1.xls と Tool.xls の二つのブックが開いている状態で、
 book1.xlsのセルを選択するとWorksheet_SelectionChangeが起動して、
 UF_comdbxのユーザーフォームをアンロードしています。

 book1.xlsのセルを選択する時には、ユーザーフォームが表示されていたり
 しなかったりしますが、表示されているときは消したいのです。

 そこで毎回消すのではなく、表示されていたら消せば画面がちらつかないかも
 しれないと思うので、UF_comdbxが表示されている事の認識が出来るなら
 その方法を教えて下さい。

 book1.xlsのコード 
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If ActiveCell.NoteText() <> "" Then
             Application.Run ("Tool.xls!comprob")
         Else
             Application.ScreenUpdating = False
             Application.Run ("Tool.xls!unload_uf")
             Application.ScreenUpdating = True
     End If
 End Sub

 Tool.xlsのコード
 Sub unload_uf()
     Unload UF_comdbx
 End Sub

画面がちらつく原因が違うところにありました。(shut)
 UserForm_Initializeの中に
 Application.ScreenUpdating = False
 Application.ScreenUpdating = True
 があり、これがちらつく原因の様でした。
 ユーザーフォームをUnloadするときにちらつくので、
 Initializeは関係ないだろうと思っていたのですが、
 違いました。
 と言う事で解決しましたので、済みませんでした。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.