閱: 2426 | 回: 7
等級(jí):初學(xué)者
-
積分:9
-
財(cái)富值:2.00
-
身份:普通用戶
等級(jí):初學(xué)者-
積分:9 -
財(cái)富值:2 -
身份:普通用戶
詳細(xì)BUG原因已在舊貼中說明:就是直接點(diǎn)刪除對(duì)象,沒有反應(yīng),全選表格之后點(diǎn)刪除對(duì)象會(huì)將批注一起刪除。
雖然用VBA可以解決問題,但用習(xí)慣了方方格子用起來比較方便,尤其是聚光燈,雖然因?yàn)槭褂肊XCEL較簡(jiǎn)單應(yīng)用并沒有充值會(huì)員,但仍希望能解決這個(gè)問題。
附網(wǎng)上找到的VBA刪除對(duì)象代碼:
Sub 刪除對(duì)象()
Dim sheet As Worksheet
For Each sheet In Worksheets
sheet.DrawingObjects.Delete
Next sheet
End Sub
VBA查詢對(duì)象數(shù)量代碼如下:
Sub CountShapes()
Dim n As Double
Dim ws As Worksheet
Dim Content As String
For Each ws In Worksheets
n = ws.Shapes.Count
Content = Content & "工作表" & ws.Name & " 有" & n & " 個(gè)對(duì)象" & vbCrLf
Next
MsgBox Content
End Sub
以下為CHATGPT生成代碼:
Sub DeleteObjects()
'定義變量
Dim objCount As Integer
Dim i As Integer
Dim response As Integer
'查詢對(duì)象數(shù)量
objCount = ActiveSheet.Shapes.Count
'如果沒有對(duì)象,則提示無對(duì)象
If objCount = 0 Then
MsgBox "無對(duì)象可刪除!", vbInformation
Exit Sub
End If
'彈出確定和取消選項(xiàng)框
response = MsgBox("共有 " & objCount & " 個(gè)對(duì)象,是否全部刪除?", vbYesNo + vbQuestion, "刪除對(duì)象")
'如果選擇確定,則刪除對(duì)象
If response = vbYes Then
On Error Resume Next
For i = objCount To 1 Step -1
ActiveSheet.Shapes(i).Delete
Next i
On Error GoTo 0
MsgBox "已刪除 " & objCount & " 個(gè)對(duì)象。", vbInformation
'如果選擇取消,則退出子程序
Else
Exit Sub
End If
End Sub
Sub DeleteObjects()
'定義變量
Dim objCount As Integer
Dim i As Integer
Dim response As Integer
'查詢對(duì)象數(shù)量
objCount = ActiveSheet.Shapes.Count
'如果沒有對(duì)象,則提示無對(duì)象
If objCount = 0 Then
MsgBox "無對(duì)象可刪除!", vbInformation
Exit Sub
End If
'彈出確定和取消選項(xiàng)框
response = MsgBox("共有 " & objCount & " 個(gè)對(duì)象,是否全部刪除?", vbYesNo + vbQuestion, "刪除對(duì)象")
'如果選擇確定,則刪除對(duì)象
If response = vbYes Then
On Error Resume Next
For i = objCount To 1 Step -1
ActiveSheet.Shapes(i).Delete
Next i
On Error GoTo 0
MsgBox "已刪除 " & objCount & " 個(gè)對(duì)象。", vbInformation
'如果選擇取消,則退出子程序
Else
Exit Sub
End If
End Sub
我的個(gè)性簽名
等級(jí):傳說級(jí)人物