特定のセルをダブルクリックしたら、フォームが開くようにしたいのですが、私はどのセルをクリックしてもフォームが開いてしまいます。
例えば、A列のセルをクリックしたらフォームが開いて、それ以外の列のセルをクリックしてもフォームが開かないようにするには、どのようにしたらよいでしょうか?
セルというのは、Grid?
それとも、Excel?
環境かこうね?
ダブルクリックしたときのコードがあると尚答えやすいです
次の様なプログラムを組んだんですけど・・・行き詰まっています。
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
If Excel'sVBA Then GoTo Others
えっと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
ぶぶさん モットcomさんありがとうございます。
なんとか、出来ました。感謝です!!
これからもっと勉強します。
ツイート | ![]() |