[[20091031224652]] 『ユーザーフォームを非アクティブにしたい』(まじっく) ページの最後に飛ぶ

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

 

『ユーザーフォームを非アクティブにしたい』(まじっく)

 特定のセルを選択した時に、ユーザーフォームがモードレスで表示されるようにしているのですが、 
 ユーザーフォームがアクティブになってしまい、エクセルがアクティブではなくなってしまいます。 

 何がしたいかというと、特定のセルをクリックしてフォームを表示した後に、 
 キーボードの矢印キーでセルを移動したいのですが、フォームがアクティブになってしまい、キーボードを受け付けなくて困っています。 

今のコードです(「特定のセル」はここではA列とします)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If UserForms.Count > 0 Then ←これはUserForm1が表示されてれば一度消す作業です
        Unload UserForm1
    End If

    With ActiveCell
        If .Column = 1 Then
            UserForm1.Show (vbModeless)
        End If
    End With

End Sub

 この後、UserForm1.Show (vbModeless)の下に、 
 ・activecell.select 
 ・target.select 
 ・windows("ブックの名前").activate 
 を入れてみたりしたのですが、どれもうまくいきませんでした。 

excel2003,WindowsXPです。よろしくお願いいたします。


 私が使う方法は、
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If UserForms.Count > 0 Then
        Unload UserForm1
    End If

    With ActiveCell
        If .Column = 1 Then
            UserForm1.Show (vbModeless)
            AppActivate Application.Caption
           'Application.Visible = True これでも出来ました
       End If
    End With
 End Sub 

 ichinose

 できました! 
 ichinose様、ありがとうございます。 (まじっく)

コメント返信:

[ 一覧(最新更新順) ]


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