2013-07-11 30 views
1

我從另一篇文章中獲得了一些代碼,幫助我對代碼進行格式化,使我能夠刪除給定列,其內容和評論中的零。但是,代碼也在刪除第一個單元格(它不是0並且不包含零)。該代碼是:使用宏刪除excel中的零

Sub Testme() 
    Dim rng1 As Range 
Set rng1 = Columns(2) 
With rng1 
    .AutoFilter 1, "0" 
    With rng1.Offset 
     .ClearContents 
     .ClearComments 
    End With 
End With 
End Sub 

此列表:

6.28 91.4 
6.28 95.5 
6.28 96.2 
6.28 86.9 
6.28 0 
6.28 100.7 
6.28 90.1 

變爲:

6.28  
6.28 95.5 
6.28 96.2 
6.28 86.9 
6.28  
6.28 100.7 
6.28 90.1 

不知道如何從刪除不包含零認識的第一行停止。

回答

0

無需自動過濾器。您可以執行查找和替換:

Columns(2).Replace What:="0", Replacement:="", LookAt:=xlWhole 
0

您對rng1的定義是選擇整個列。所以,當你做了明確的偏移,你刪除所有的過濾柱C.

該代碼會做你想要什麼:

Sub Testme() 
    Dim rng1 As Range 
    Set rng1 = Sheet1.UsedRange 
    With rng1 
     .AutoFilter 1, "0" 
     With rng1.Offset(1, 0) 
      .ClearContents 
      .ClearComments 
     End With 
    End With 
End Sub