国产一区二区欧美精品免费-欧美国产日韩在线视频-欧美亚洲国语精品一区二区-欧美激情五月综合啪啪-国产69精品麻豆久久久久-亚洲人成精品久久久久桥网站-欧美刺激肥熟在线视频-十七岁日本免费完整版BD-黑夜在线拖拽不卡第一页

`
發(fā)表于2023/4/7 21:18:50 樓主 
頭像 等級(jí):初學(xué)者
積分:9
財(cái)富值:2.00
身份:普通用戶
用vba查詢發(fā)現(xiàn)表格有大量對(duì)象,但查找定位對(duì)象卻又看不到,用方方格子直接批量刪除對(duì)象沒有變化,但全選表格后,按鼠標(biāo)右鍵選擇取消隱藏,然后再用方方格子批量刪除對(duì)象可以刪除所有對(duì)象,但所有批注也都消失了。有沒有辦法解決僅刪除隱藏的對(duì)象,但保留批注不變?附:用查找*選擇批注,可以看到批注數(shù)量刪除時(shí),vba查詢對(duì)象并不會(huì)減少,也就是它們不相關(guān),但全選取消隱藏批量刪除時(shí)卻一起消失了。
我的個(gè)性簽名
發(fā)表于 2023/4/10 7:58:12   
頭像 等級(jí):初學(xué)者
積分:9
財(cái)富值:2
身份:普通用戶
早上好!各位,星期五晚上表述有些錯(cuò)誤,最后的附注:用查找*選擇批注,可以看到批注數(shù)量刪除時(shí),vba查詢對(duì)象會(huì)減少,也就是它們相關(guān)。
我的個(gè)性簽名
發(fā)表于 2023/4/10 9:18:02   
頭像 等級(jí):傳說級(jí)人物
積分:2734
財(cái)富值:4
身份:普通用戶
可否錄屏演示一下你的操作?
發(fā)表于 2023/4/10 9:52:45   
頭像 等級(jí):初學(xué)者
積分:9
財(cái)富值:2
身份:普通用戶

經(jīng)過早上一個(gè)多小時(shí)的網(wǎng)上查詢,確認(rèn)是方方格子的軟件BUG,用2種方法可解決:

1、用網(wǎng)上找到VBA代碼進(jìn)行刪除,可以不影響批注情況下解決。

2、用kutools里面的刪除插圖和對(duì)象也可以解決而不影響批注。

不好意思,不知道如何錄屏,但根據(jù)個(gè)人推斷應(yīng)該是BUG,看大神能不能查源代碼。

我的個(gè)性簽名
發(fā)表于 2023/4/10 10:03:43   
頭像 等級(jí):傳說級(jí)人物
積分:2734
財(cái)富值:4
身份:普通用戶
收到,明白了
發(fā)表于 2023/6/29 9:20:39   
頭像 等級(jí):初學(xué)者
積分:9
財(cái)富值:2
身份:普通用戶
2023年6月24日新更新的日志表明,并沒有解決這個(gè)刪除對(duì)象的BUG,為更清楚說明情況,特上傳一個(gè)帶對(duì)象的文件,希望能在下一版本更新這個(gè)問題,謝謝!
附件:   下載
我的個(gè)性簽名
發(fā)表于 2023/6/29 9:28:06   
頭像 等級(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

我的個(gè)性簽名
發(fā)表于 2023/6/29 11:50:18   
頭像 等級(jí):初學(xué)者
積分:9
財(cái)富值:2
身份:普通用戶
注:上面的CHATGPT生成的那些代碼,就是會(huì)將所有批注也一起刪除。
我的個(gè)性簽名

快速回復(fù)

目前不允許游客發(fā)表,請(qǐng) 登錄 注冊(cè) 后再發(fā)貼。