[[20260210074316]] 『ダウンリストを追加するとエラーになる』(マクロ初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『ダウンリストを追加するとエラーになる』(マクロ初心者)

どなたかご教授ください。

〇cs32,dw32の範囲に斜線を引くよう記述しています。

Sub ボタン52_Click()
'(イ) から(?U)斜線

'

    ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 723.75, 366.75, 887.25, _
        232.75).Select
    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
    End With
End Sub

〇斜線を削除するよう記述しています。

Sub ボタン54_Click()
'(イ)の原因と期間の解除

 Dim shape As shape
    Dim area As Range

    Set area = Range("cs32,dw32") '削除したいセル範囲を指定する

    For Each shape In ActiveSheet.Shapes
        If Not Intersect(shape.TopLeftCell, area) Is Nothing Then
            shape.Delete
        End If
    Next shape
End Sub

これだけなら正常に動作するのですが、この範囲内にダウンリストを追加
すると斜線削除する際エラーになります。

 If Not Intersect(shape.TopLeftCell, area) Is Nothing Then の部分に
問題があるよう表示されるのですが、何が問題でしょうか

ダウンリストを追加した状態でも正常に動作するようにしたいのですが
解決方法を教えてください。宜しくお願い致します。

< 使用 Excel:unknown、使用 OS:Windows10 >


PCが手元にないので確認だけ。
↓って意図通りのセル範囲が格納されますか?
 Set area = Range("cs32,dw32")

(もこな2) 2026/02/10(火) 08:04:36


 入力規則のドロップダウンリストもShapeなので、

 Sub ボタン54_Click()

 Dim shape As shape
    Dim area As Range

    Set area = Range("cs32,dw32") '削除したいセル範囲を指定する

    For Each shape In ActiveSheet.Shapes
        If shape.Type <> msoFormControl Then ' フォームコントロール(入力規則も)を除く
            If Not Intersect(shape.TopLeftCell, area) Is Nothing Then
                Stop
                shape.Delete
            End If
        End If
    Next shape
 End Sub

 もこな2さん
 Sub test()
   Set area = Range("cs32,dzw32")
   Debug.Print area.Address
 End Sub
 の結果は、
 $CS$32,$DZW$32
 です
(´・ω・`) 2026/02/10(火) 08:37:59

もこな2さんへ

ありがとうございました。記述頂いたとおりに修正すると、うまく機能しました。
早急な回答ありがとうございました。大変助かりました。
(マクロ初心者) 2026/02/10(火) 08:52:47


 修正案を提示されたのは ´・ω・`さんですよ。

 ちなみにRange("cs32,dw32")は、CS32:DW32を意図したものではないですかという指摘だったと思います。
 いえ、その二つのセルですということならそれで問題ないのですが。

 [参考]
 ?Range("cs32,dw32").Address
 $CS$32,$DW$32
 ?Range("cs32:dw32").Address
 $CS$32:$DW$32
 ?Range("cs32","dw32").Address
 $CS$32:$DW$32
(xyz) 2026/02/10(火) 11:58:15

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.