ここから本文です

エクセルで、ダブルクリックすると〇が付き、再度ダブルクリックすると〇が消える...

dod********さん

2018/3/2609:25:11

エクセルで、ダブルクリックすると〇が付き、再度ダブルクリックすると〇が消える、
という形にしたく、以下のような文を作りました。
保存後、開いたら使えなくなっていました。

(マクロ有効ブックで保存してあります)
いろいろいじってしまったので、設定等も教えて頂きたいです。
よろしくお願い致します。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Shp As Shape Dim Lft As Single, Tp As Single Cancel = True For Each Shp In ActiveSheet.Shapes If Not Intersect(Shp.TopLeftCell, Target) Is Nothing Then Shp.Delete Exit Sub End If Next With ActiveSheet.Shapes.AddShape(msoShapeOval, Target.Left, Target.Top, Target.Width, Target.Height) .Fill.Visible = msoFalse .Line.Weight = 0.75 End With End Sub

補足セル中の文字を楕円で囲みたいです。

閲覧数:
265
回答数:
1

違反報告

ベストアンサーに選ばれた回答

kky********さん

2018/3/2609:52:01

>保存後、開いたら使えなくなっていました。
使えなくとはエラーが出るとかどういう状況でしょうか?

コードはそのままコピペして下さい。改行が無いので苦労します。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Shp As Shape
Dim Lft As Single, Tp As Single
Cancel = True
For Each Shp In ActiveSheet.Shapes
If Not Intersect(Shp.TopLeftCell, Target) Is Nothing Then
Shp.Delete
Exit Sub
End If
Next
With ActiveSheet.Shapes.AddShape(msoShapeOval, Left:=Target.Left, _
Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
.Fill.Visible = msoFalse
.Line.Weight = 0.75
End With
End Sub

  • 質問者

    dod********さん

    2018/3/2610:37:13

    kkyy5223様

    できました。
    ありがとうございました。
    これで先に進めます。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる