| 
    
     |  | マリアン さん今日は >私の説明が不十分だったのですが、
 Jakaさんには充分伝わっていたはずです。
 
 >これは、どうやって線を作っているのかで変わってきます。
 
 Sub 線作成1()
 Dim sen As Shape
 Set sen = ActiveSheet.Shapes.AddLine(18.75, 702#, 547#, 758.25)
 sen.Name = "Abebobo"
 sen.Flip msoFlipHorizontal
 End Sub
 
 上記コードのように線を作るときに名前を付けてやれば良いでしょう。
 しかし、2回目からはエラーが出ます。
 
 そこで
 >線に特定の名前をつけているのなら
 >下記コードの様にすれば良いです。
 >ただ、何個も同じ所に重ねて作るようになるから、最初に消した方が良いです。
 
 Sub 線作成2()
 Dim sen As Shape
 On Error Resume Next
 ActiveSheet.Shapes("Abebobo").Delete
 Set sen = ActiveSheet.Shapes.AddLine(18.75, 702#, 547#, 758.25)
 sen.Name = "Abebobo"
 sen.Flip msoFlipHorizontal
 End Sub
 
 ’ActiveSheet.Shapes("Abebobo").Delete
 で線を指定して消してから作ってやれば何回でもできます。
 ただ、線が無い状態で ’ActiveSheet.Shapes("Abebobo").Delete
 を実行するとエラーになっちゃいますので
 On Error Resume Next
 というおまじないをかけます。
 
 あとは、IF文で分岐させてやればできます。
 
 >orでつなげると、エラーになってしまいました。
 If Target.Address(0, 0) = "J27" Or Target.Address(0, 0) = "J37" Then
 
 |  |