|
▼マリアン さん:
>今度は、J27の数値がdeleteされたら、
>自動的に、引かれた線を消す・・
という事だけ見れば、書きコードに判定を追加するだけです。
>>If Target.Address(0, 0) = "J27" Then
>> If Not IsEmpty(Target.Value) Then
>> ここに線を書くコード
>> End If
>>End If
>>End Sub
>ということは可能でしょうか。
>線が引かれている範囲は、A51:AS54の範囲です。
これは、どうやって線を作っているのかで変わってきます。
線に特定の名前をつけているのなら
下記コードの様にすれば良いです。
>ただ、何個も同じ所に重ねて作るようになるから、最初に消した方が良いです。
>On Error Resume Next
>ActiveSheet.Shapes("線1").Delete
>ActiveSheet.Shapes("線2").Delete
そうでないのなら面倒な事をしないとダメです。
面倒なので活用した事がないですが。
全ての図形オブジェクトを1個1個しらべ
たった2つしかない、TopLeftCell、BottomRightCellプロパティで場所判定するような感じになります。
おまけに、微妙な位置にある場合の判定が結構ザルみたいです。
Sub mmmmmm()
Dim Sap As Shape
Set Sap = ActiveSheet.Shapes(Selection.name)
Sap.TopLeftCell.Select
MsgBox "選択した図形の左上に当る位置のセルを選択しました。"
Sap.BottomRightCell.Select
MsgBox "選択した図形の右下に当る位置のセルを選択しました。"
End Sub
|
|