VBA代碼刪除圖形時(shí)保留數(shù)據(jù)有效性下拉框的技巧
--- 操作步驟及問題發(fā)現(xiàn)運(yùn)行以下宏代碼:```vbaSub delpic() Dim pic As Shape For Each pic In NextEnd S
---
操作步驟及問題發(fā)現(xiàn)
運(yùn)行以下宏代碼:
```vba
Sub delpic()
Dim pic As Shape
For Each pic In
Next
End Sub
```
是否發(fā)現(xiàn)數(shù)據(jù)有效性下拉框不見了?
數(shù)據(jù)有效性下拉框被誤刪問題分析
數(shù)據(jù)有效性下拉框被視為圖形文件被錯(cuò)誤刪除。嘗試在C1、C2單元格設(shè)置數(shù)據(jù)有效性,然后執(zhí)行以下代碼:
```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
```
發(fā)現(xiàn)即使設(shè)置多個(gè)數(shù)據(jù)有效性,通過``得出結(jié)果卻仍為1;數(shù)據(jù)有效性名稱用`Name`獲取為Drop Down 1。是否存在規(guī)律?
數(shù)據(jù)有效性名稱規(guī)律探究
刪除C1、C2單元格數(shù)據(jù)有效性后,重新設(shè)置并執(zhí)行`xsyxxname`宏代碼,發(fā)現(xiàn)名稱變?yōu)镈rop Down 2。推測(cè)數(shù)據(jù)有效性名稱遵循Drop Down X格式命名規(guī)則。
解決方案與修改后代碼
將第一步的宏代碼修改如下:
```vba
Sub delpic()
Dim pic As Shape
For Each pic In
If InStr(1, , "Drop Down") 0 Then
End If
Next
End Sub
```
這樣就能避免誤刪數(shù)據(jù)有效性框。
---
通過以上分析和調(diào)整,可以有效利用VBA代碼刪除圖形時(shí)保留數(shù)據(jù)有效性下拉框,提高Excel表格操作的準(zhǔn)確性和效率。