• ベストアンサー

セルをマクロのボタンにしたい。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>セルそのものをボタンにする方法 表現があいまいですが (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

その他の回答 (1)

回答No.1

ボタンのようにクリックは無いようですが、ダブルクリックと右クリックならできるみたいです。 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

関連するQ&A