0

Excelワークシートに入力するユーザーフォームがありますが、ブックの下部にあるタブを表示できます。ユーザーフォームを開いているときにユーザーがタブの1つをクリックしても、何も起こりません。ユーザーがフォームの一部ではないものをクリックするたびにユーザーフォームをアンロードする方法はありますか?

ありがとう

4

1 に答える 1

0

これが1つの方法ですが、実際にどれだけうまく機能するかについては少し懐疑的です。まず、ユーザーフォームの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ありますが、これらのイベントは発生しませんが、状況に応じて機能する可能性があります。

于 2012-04-04T17:09:06.180 に答える