VBA代码删除图形时保留数据有效性下拉框的技巧

--- 操作步骤及问题发现运行以下宏代码:```vbaSub delpic() Dim pic As Shape For Each pic In NextEnd S

---

操作步骤及问题发现

运行以下宏代码:

```vba

Sub delpic()

Dim pic As Shape

For Each pic In

Next

End Sub

```

是否发现数据有效性下拉框不见了?

数据有效性下拉框被误删问题分析

数据有效性下拉框被视为图形文件被错误删除。尝试在C1、C2单元格设置数据有效性,然后执行以下代码:

```vba

Sub xsyxxname()

Dim pic As Shape, i As Integer

i 2

For Each pic In

Range("B1")

Range("B" i)

i i 1

Next

End Sub

```

发现即使设置多个数据有效性,通过``得出结果却仍为1;数据有效性名称用`Name`获取为Drop Down 1。是否存在规律?

数据有效性名称规律探究

删除C1、C2单元格数据有效性后,重新设置并执行`xsyxxname`宏代码,发现名称变为Drop Down 2。推测数据有效性名称遵循Drop Down X格式命名规则。

解决方案与修改后代码

将第一步的宏代码修改如下:

```vba

Sub delpic()

Dim pic As Shape

For Each pic In

If InStr(1, , "Drop Down") 0 Then

End If

Next

End Sub

```

这样就能避免误删数据有效性框。

---

通过以上分析和调整,可以有效利用VBA代码删除图形时保留数据有效性下拉框,提高Excel表格操作的准确性和效率。

标签: