|
> 2007だと、そうならない、ということですね。
こちらでも 2007で試してみましたが、
Excel2002と同じ挙動でした。
(ちがうところといえば、ダブルクリックで作成される図形◎が
線が太くて、とても見にくいこと)
【70020】 のコード
'-----シートモジュール----
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Dim sh As Shape
Dim c As Long
Cancel = True
For Each sh In ActiveSheet.Shapes
If Not Application.Intersect(Target, _
sh.TopLeftCell) Is Nothing Then
Call Module1.DelShape(sh.Name)
Exit Sub
End If
Next sh
Call Module1.AddShape(Target)
End Sub
【70021】 のコード
'----Module1 標準モジュール -----
Public Sub AddShape(ByVal Target As Range)
With Target
.HorizontalAlignment = xlCenter
With ActiveSheet.Shapes.AddShape(msoShapeDonut, _
.Left, .Top, .Width, .Height)
.Fill.Transparency = 0#
.Line.ForeColor.SchemeColor = 64
.Line.BackColor.RGB = RGB(255, 255, 255)
.OnAction = "Module1.DelShape2"
.TopLeftCell.Select
End With
End With
End Sub
Public Sub DelShape(ShpName As String)
With ActiveSheet.DrawingObjects(ShpName)
.BottomRightCell.Select
.Delete
End With
End Sub
Public Sub DelShape2()
DelShape Application.Caller
End Sub
どこかが、お使いのコードとちがうから 違った挙動をしてるんだと
思いますが。
|
|