2012-04-04 6 views
0

エクセルワークシートに入力するユーザーフォームがありますが、ワークブックの下部にあるタブを表示できます。ユーザーフォームが開いているときにユーザーがタブの1つをクリックすると、何も起こりません。ユーザーがフォームの一部ではないものをクリックするたびに、ユーザーフォームをアンロードする方法はありますか?私はそれが実際に動作しますどれだけについて少し懐疑的だが、ここでExcel VBA - ワークブックをクリックしてユーザーフォームをアンロードする

おかげ

答えて

0

は、一つの方法です。まず、UserformのShowModalプロパティをFalseに設定します。これにより、ユーザーはユーザーフォームの外をクリックして実際に何かを選択することができます。

次に、ユーザは、シートタブまたはアクティブシート内のセルのいずれかをクリックすると、それはユーザーフォームをアンロードしますはThisWorkbookモジュールに

Private Sub Workbook_SheetActivate(ByVal Sh As Object) 

    On Error Resume Next 
     Unload UserForm1 

End Sub 

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 

    On Error Resume Next 
     Unload UserForm1 

End Sub 

このコードを置きます。ユーザーがこれらのイベントを発生させないクリック可能な場所はおそらく100ありますが、状況によってはうまくいく可能性があります。

関連する問題