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表格操作的準確性和效率。