請問刪有範圍圖片與某些字串的技巧~請詳見實例~謝謝~

請問刪有範圍圖片與某些字串的技巧~請詳見實例~謝謝~請先參考一下前題~謝謝~請問EXCEL內出現表格圖示該如何清理呢,謝謝。http://tw.knowledge.yahoo.com/question/question?qi... 餘請詳見該URL內說明~謝謝~http://www.FunP.Net/4278570刪圖片.rar

已更新項目:

感謝大師幫忙~謝謝~

1.怪圖還真的刪掉了~了不起喔~好神奇喔~這種圖還真佔空間~複製還真慢~

2.執行這個時 Sub 刪物件( )

會先顯示右列錯誤訊息==無法取得類別 Picture 的 TopLeftCell 屬性~但未出現偵錯~點結束後圖片刪除了~

3.大師的三個刪圖VBA寫的真好~可以自我靈活運用~可是對只要刪某欄與某列的~該如何限制呢~

4.末學的四項需求~大師已完成1.99個~請大師繼續幫一下其他的~謝謝~

[1].A.B欄內有=移除=二字,但是事實上是=戳回去?移除。

[2].B.空白列也請刪除.

2 個已更新項目:

謝謝大家的指點~

先延長五天~

抽空來試試~

感謝准提大師~

3 個已更新項目:

准提大師對VBA已達出神入化之境界~

先[A:B].Replace "戳回去*移除", "", Lookat:=xlWhole

再來刪除空白~

凡夫俗子都想不出來的~

還會活用"戳回去*移除"~

真是聰明有智慧~

刪物件的也都沒錯誤訊息了~

還把圖都刪了~

某範圍的刪除~也用最簡單的方法刪除了~

謝謝~

恭請大師上台發表高見喔~

4 個已更新項目:

大師回答的相當標準化~言簡意賅~了不起的VBA大師~沒意見就要結案了~謝謝大家~

6 個解答

評分
  • 6 年前
    最佳解答

    下載檔在OFFICE 2000 會提示資料遺失錯誤,無法完整顯示!

    先參考:

    Sub 刪OLE物件()

     ActiveSheet.OLEObjects.Delete

    End Sub

    OLEObjects 包含〔控制工具箱〕中的物件

    2013-12-12 11:48:40 補充:

    Sub 刪物件()

    Dim uOBJ As Object

    For Each uOBJ In ActiveSheet.DrawingObjects

      If uOBJ.TopLeftCell.Row > 1 Then uOBJ.Delete

    Next

    End Sub

    DrawingObjects為所有類型物件,不分種類,

    除第1列物件外,一件不留!

    2013-12-12 11:55:16 補充:

    Sub 刪物件2()

    On Error Resume Next

    With ActiveSheet

      .Shapes("文字方塊 1").Visible = False

      .DrawingObjects.Delete

      .Shapes("文字方塊 1").Visible = True

    End With

    End Sub

    先將自建物件隱藏,刪去其它再顯示,

    005物件多會很慢,這比較快!

    2013-12-13 09:41:17 補充:

    Sub 取代文字()

    [A:B].Replace "戳回去*移除", "", Lookat:=xlWhole

    End Sub

    Sub 刪空白列()

    On Error Resume Next

    [B:B].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

    End Sub

    2013-12-13 09:50:57 補充:

    Sub 刪物件()

    Dim i

    For i = ActiveSheet.DrawingObjects.Count To 1 Step -1

      With ActiveSheet.DrawingObjects(i)

        If .TopLeftCell.Row > 1 Then .Delete

      End With

    Next

    End Sub

    改為這樣,試試是否還有錯誤!

    2013-12-16 15:26:37 補充:

    EXCEL VBA.刪除〔圖片.物件〕+ 清除指定文字 + 刪除空白列

                             <.准提部林.>

    ---------------------------------

    ■程式碼1:刪除〔圖片.物件〕

     1.刪除OLEObjects 〔控制工具箱〕中的物件

     Sub 刪OLE物件()

       ActiveSheet.OLEObjects.Delete

     End Sub

     

     2.刪除所有類型物件,不分種類

     Sub 刪物件()

     Dim uOBJ As Object

     For Each uOBJ In ActiveSheet.DrawingObjects

       If uOBJ.TopLeftCell.Row > 1 Then uOBJ.Delete

     Next

     End Sub

     

     Sub 刪物件1()

     Dim i

     For i = ActiveSheet.DrawingObjects.Count To 1 Step -1

       With ActiveSheet.DrawingObjects(i)

         If .TopLeftCell.Row > 1 Then .Delete

       End With

     Next

     End Sub

     

     3.先將自建的物件隱藏,刪去其它再顯示

     Sub 刪物件2()

     On Error Resume Next

     With ActiveSheet

       .Shapes("文字方塊 1").Visible = False

       .DrawingObjects.Delete

       .Shapes("文字方塊 1").Visible = True

     End With

     End Sub

     

    ■程式碼2:清除指定文字

     Sub 取代文字()

       [A:B].Replace "戳回去*移除", "", Lookat:=xlWhole

     End Sub

     

     --說明--

     因文字中含有〔特殊字元〕,故以 "*" 替之。

     

    ■程式碼3:刪除空白列

     Sub 刪空白列()

     On Error Resume Next

     [B:B].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

     End Sub

     

     --說明--

     可使用〔編輯.到.特殊.空格〕即可取得程式碼。

    ---------------------------------

  • 匿名使用者
    6 年前

    還是要去 http://aaashops。com 品質不錯,老婆很喜歡。

    吺刎侮唦

  • 6 年前

    2013-12-12 16:05:55 補充

    感謝大師幫忙~謝謝~

    1.怪圖還真的刪掉了~了不起喔~好神奇喔~這種圖還真佔空間~複製還真慢~

    2.執行這個時 Sub 刪物件( )

    會先顯示右列錯誤訊息==無法取得類別 Picture 的 TopLeftCell 屬性~但未出現偵錯~點結束後圖片刪除了~

    3.大師的三個刪圖VBA寫的真好~可以自我靈活運用~可是對只要刪某欄與某列的~該如何限制呢~

    4.末學的四項需求~大師已完成1.99個~請大師繼續幫一下其他的~謝謝~

    [1].A.B欄內有=移除=二字,但是事實上是=戳回去?移除。

    [2].B.空白列也請刪除.

    2013-12-13 18:20:56 補充:

    2013-12-13 18:20:31 補充

    謝謝大家的指點~

    先延長五天~

    抽空來試試~

    感謝准提大師~

    2013-12-16 13:53:10 補充:

    2013-12-16 13:52:51 補充

    准提大師對VBA已達出神入化之境界~

    先[A:B].Replace "戳回去*移除", "", Lookat:=xlWhole

    再來刪除空白~

    凡夫俗子都想不出來的~

    還會活用"戳回去*移除"~

    真是聰明有智慧~

    刪物件的也都沒錯誤訊息了~

    還把圖都刪了~

    某範圍的刪除~也用最簡單的方法刪除了~

    謝謝~

    恭請大師上台發表高見喔~

    2013-12-16 20:00:28 補充:

    2013-12-16 20:00:06 補充

    大師回答的相當標準化~言簡意賅~了不起的VBA大師~沒意見就要結案了~謝謝大家~

  • 感謝版主來信指導:

    仔細看了版主需求與大家的初步意見,

    的確不太容易,但是我一向是講求實用性的,

    如果沒有專家肯來回答這個多需求性的問題,

    因為需求過多沒有專家有空來答,

    我再以土法煉鋼來幫您,

    OK~

    2013-12-13 18:08:11 補充:

    版主:

    有關刪除的範圍,

    小麥不是有提到這個了,

    請准提大師於回答時併入即可。

    If Shp.TopLeftCell.Row > 1 And Shp.TopLeftCell.Column = 2 And Shp.TopLeftCell.Row <= 1369 Then Shp.Delete

  • 您覺得這個回答如何?您可以登入為回答投票。
  • 這題我看了很久 可能功力不夠 不過有點建議 前題的回答者 值得參考 可以用來限定某欄與某列 應該沒有問題 這題出的很好 很具多元性 可能需要大師級以上的來幫忙

    比如:

    If Shp.TopLeftCell.Row > 1 And Shp.TopLeftCell.Column = 2 And Shp.TopLeftCell.Row <= 1369 Then Shp.Delete

  • 版主....

    刪除空白列.有找到題庫.不過試了一下.問題很多.

    特殊圖片可以用複製到另一工作表.

    就可以解決.只是麻煩一點.

    之前一題刪圖片是可行的.可能您的刪除次數過多.就會出現錯誤訊息喔.

    可以換張工作表示試試.

    而...戳回去 移除>>>很詭異的....

    就是抓不到呢...

    移除..抓出來有很多版本...戳回去 移除...戳回去?移除....

    這題要大專家來解了...我已盡力了....

還有問題?馬上發問,尋求解答。