| 
    
     |  | ▼教えてください初心者です さん:こんにちは >こんにちは。いつもご回答有難うございます。
 >VBA独学中です(苦学生?)
 >
 >特定の値の入ったセルをフォームボタンのように使うことが出来るでしょうか。
 >
 >現在は値が「クリック」というセルを押すことで相対位置の出発点を特定させており、
 >そのセルにフォームボタンを乗せて以下のマクロを実行させているのですが、
 >うっかりそのセルをクリックしないでフォームボタンを押してしまうことがあり
 >そうなると大混乱が起きてしまいます。
 >
 >これをもっと簡単に、しかも確実に相対位置の出発点を特定させる為に
 >単純に特定セルクリックをきっかけにマクロ実行したいのです。
 >
 >Sub 増行()
 >'
 >' 増行 Macro
 >' マクロ記録日 : ユーザー名 :
 >'
 >
 >'
 >  ActiveSheet.Unprotect
 >  Application.ScreenUpdating = False
 >  ActiveCell.Offset(-2, 0).Rows("1:3").EntireRow.Select
 >  Selection.EntireRow.Hidden = False
 >  ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
 >  Selection.Copy
 >    以下続く
 >
 >二行目はsasayanさんのご質問にかみちゃんさんがつけた回答をそのまま使わせて頂きました。
 >有難うございました。動きが多かったのでこれはとても助かりました。
 >
 >現在500ページ弱の翔泳社VBA辞典を使っていますが、VBAを解読・作成する為には
 >語彙不足を感じます。良い辞典のご紹介を頂けませんか。
 
 クリックで動作するイベントがありませんので
 右クリックでは如何でしょうか?
 該当のセル以外は動作しないようにできますので。
 
 例:該当セルを「A5」仮定して
 
 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 Cancel = True
 If Target.Address(0, 0) <> "A5" Then Exit Sub
 '処理コード
 
 End Sub
 
 |  |