アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBA初心者です。
いつもボタンを作って、マクロを起動させていますが、たしか、エクセルシートのセルそのものをボタンにする方法があったと思います。

教えてください。

A 回答 (2件)

ボタンのようにクリックは無いようですが、ダブルクリックと右クリックならできるみたいです。


B2またはボタンと言う文字が入っているcellをダブルクリックまたは右クリックすると、それを表示します。
Cancel = Trueは、本来の処理をキャンセルするためです。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Target.Row = 2) And (Target.Column = 2) Then
MsgBox "B2 をダブルクリック"
Cancel = True
End If
If Target = "ボタン" Then
MsgBox "ボタン をダブルクリック"
Cancel = True
End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If (Target.Row = 2) And (Target.Column = 2) Then
MsgBox "B2 を右クリック"
Cancel = True
End If
If Target = "ボタン" Then
MsgBox "ボタン を右クリック"
Cancel = True
End If
End Sub
    • good
    • 3

>セルそのものをボタンにする方法


表現があいまいですが
(1)クリック(結果的に(4)と同じ。正確にはこのイベントなし)
(2)ダブルクリック
(3)右クリック
(4)選択
のイベントを捉えて、指定したモジュールを実行できます。
一般の操作とと紛らわしい(1)、(4)は避けて(2)ぐらいが適当かと思います。セルの背景色。値(Captionの代わり)でもはっきり目立たせる方が適当。
ーー
そのセルに、ダブルクリック効果を限定するために、Targetセルの番地のをチェックして、それ以外はパスする。
ーー
D1セルをボタンの代用にする例
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not (Target.Row = 1 And Target.Column = 4) Then Exit Sub
shori
End Sub
Sub shori()
MsgBox "処理 しました "
End Sub
    • good
    • 9

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A