特定のセルをクリックしてフォームを表示するには?

解決


リョウ  2005-06-23 15:34:58  No: 122940  IP: [192.*.*.*]

特定のセルをダブルクリックしたら、フォームが開くようにしたいのですが、私はどのセルをクリックしてもフォームが開いてしまいます。
例えば、A列のセルをクリックしたらフォームが開いて、それ以外の列のセルをクリックしてもフォームが開かないようにするには、どのようにしたらよいでしょうか?

編集 削除
いな  2005-06-23 15:51:53  No: 122941  IP: [192.*.*.*]

セルというのは、Grid?
それとも、Excel?

環境かこうね?

編集 削除
ぶぶ  2005-06-23 22:13:54  No: 122942  IP: [192.*.*.*]

ダブルクリックしたときのコードがあると尚答えやすいです

編集 削除
りょう  2005-06-24 10:30:48  No: 122943  IP: [192.*.*.*]

次の様なプログラムを組んだんですけど・・・行き詰まっています。
Excelです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    UserForm1.Show
    Cancel = True
End Sub

Private Sub userform1_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    
    If ActiveCell.FormulaR1C1 = "=R[0]C[1]" Then
            UserForm1.Show
            Cancel = True
    
        Else
            MsgBox "", vbCritical
        
    End If
End Sub

編集 削除
モットcom  2005-06-24 12:17:00  No: 122944  IP: [192.*.*.*]

If Excel'sVBA Then GoTo Others

編集 削除
ぶぶ  2005-06-24 13:28:57  No: 122945  IP: [192.*.*.*]

えっとExcel はしてないので、ちょっと的外れになるかもしれませんが
特定のあるセルのみダブルクリックしたらFormがでればいいんですよね?

>Private Sub userform1_BeforeDoubleClick(ByVal Target As Excel.Range, _
> Cancel As Boolean)
>    If ActiveCell.FormulaR1C1 = "=R[0]C[1]" Then
>            UserForm1.Show
>            Cancel = True
>        Else
>            MsgBox "", vbCritical
>    End If
>End Sub
この部分はよくわからなかったので

これで再現はできたんですけど、試してみてください。
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, _
>Cancel As Boolean)
    If Target.Row = 1 and Target.Column = 4 then
        ' 1行目4列目がクリックされたら画面を表示
        UserForm1.Show
    Else
        Cancel = True
    End If
>End Sub

編集 削除
りょう  2005-06-27 10:05:18  No: 122946  IP: [192.*.*.*]

ぶぶさん  モットcomさんありがとうございます。
なんとか、出来ました。感謝です!!
これからもっと勉強します。

編集 削除