| 
    
     |  | 以前【34975】にて質問させていただいた下働きです。 内容は異なるのですが、同じツール作成について質問させて頂きます。
 
 マクロボタンによる作図ツールを作成しているのですが良くわからないところがあるのでお教えください。
 先ず下記のように複数の作図及び消去マクロを作成しました。これをマクロボタンに登録して作図ツールとしようと思うのですが、数が多くなり紛らわしくなります。またマクロを使う場所が2種類(セルを赤:道具系と青:コネクタ系に塗り分けています)ありますので、押し間違いをなくしたいと思っています。
 そこで、ActiveCellが赤だったら道具系マクロを登録、青だったらコネクタ系マクロを登録、それ以外だったら登録しないとしたいのですが、良い方法を教えてください。
 マクロの記録でマクロボタンの登録動作を調べましたがマクロ番号が順次変わってしまってうまくいきません。よろしくお願いいたします。
 例)
 A  B   C    D    E    F
 1   [マクロボタン1]    [マクロボタン2] ←ActiveCellの色により
 2                        ボタン名称、機能を
 3   [ 赤 ]    [ 青 ]      [ 赤 ]   切り替えたい。
 4
 5
 6
 7   [ 赤 ]    [ 青 ]      [ 青 ]
 8
 
 Sub model_11()
 ' モデリング 道具追加
 ActiveSheet.Range("AK3:AN4").Copy
 ActiveCell.Offset(3, -1).Range("A1").Select
 ActiveSheet.Paste
 ActiveCell.Offset(1, 0).Range("A1").Value = 0
 ActiveCell.Range("A1:D1").Value = ""
 
 ActiveCell.Select
 End Sub
 
 Sub model_42()
 ' モデリング コネクタ消去
 ActiveCell.Offset(1, 0).Range("A1:A5").Borders _                 (xlEdgeRight).LineStyle = xlNone
 End Sub
 
 
 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
 ちなみに前回の質問については下記内容で一応動作しました。
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 With Target
 If .Column < 255 Then
 If [a1].Value <> "" Then
 [a1].Value = [a1].Value * (-1)
 Else
 [a1].Value = 1
 End If
 Else: [a1].Value = ""
 End If 'ifを入れなくても良さそう※要再検証
 End With
 End Sub
 
 Function R_XXX_test(YOKO As Variant, XXX_P As Variant, _
 XXX_XX As Double, リフレッシュ As Variant)
 'リフレッシュにA1を取り込みセル移動で毎回計算させる
 '罫線情報取得テスト
 Dim shoukei, YOKO_XX
 
 If YOKO.Value = "" Then YOKO_XX = 0 Else YOKO_XX = YOKO.Value
 
 shoukei = 0
 If KIKI_P.Borders(xlEdgeRight).LineStyle <> xlNone Then
 shoukei = shoukei + XXX_XX
 If YOKO.Borders(xlEdgeBottom).LineStyle <> xlNone Then
 shoukei = shoukei + YOKO_XX
 If shoukei = 0 Then R_XXX_test = "" Else _
 R_XXX_test = shoukei
 End Function
 
 |  |