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

解決


リョウ  2005-06-24 00:34:58  No: 122940

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


いな  2005-06-24 00:51:53  No: 122941

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

環境かこうね?


ぶぶ  2005-06-24 07:13:54  No: 122942

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


りょう  2005-06-24 19:30:48  No: 122943

次の様なプログラムを組んだんですけど・・・行き詰まっています。
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 21:17:00  No: 122944

If Excel'sVBA Then GoTo Others


ぶぶ  2005-06-24 22:28:57  No: 122945

えっと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 19:05:18  No: 122946

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加