|
マリアン さん今日は
>私の説明が不十分だったのですが、
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
|
|