2014-02-17 2 views
2

Я пытаюсь удалить все строки в столбце E, содержащие 0. Он отформатирован как валюта и дает мне некоторые проблемы.Удалить строки, содержащие 0 в формате Currency

Вот код, я в настоящее время использую, но он не работает:

' Delete Anything in Column E with a hyphen 

    Dim e As Range 
    Dim rngToDelete2 As Range 

    With Worksheets(5).Range("E1:E2000") 
     Set e = .Find("0", LookIn:=xlValues) 
     If Not e Is Nothing Then 
      firstAddress = e.Address 
      Do 
       If rngToDelete2 Is Nothing Then 
        Set rngToDelete2 = e 
       Else 
        Set rngToDelete2 = Union(rngToDelete2, e) 
       End If 
       Set e = .FindNext(e) 
       If e Is Nothing Then Exit Do 
      Loop While e.Address <> firstAddress 
     End If 
    End With 

    If Not rngToDelete2 Is Nothing Then rngToDelete2.EntireRow.Delete 

Не знаю, почему это работает для других столбцов, содержащих дефис или 0. Любая помощь приветствуется.

+1

Приведенный выше код работает для меня. Вы видели [ЭТО] (http://stackoverflow.com/questions/20077945/delete-cells-in-an-excel-column-when-rows-0) Если у вас нет больших строк, вы также можете использовать автофильтр как показано @brettdj в этом сообщении. –

+0

Если он все еще не работает, я бы хотел увидеть вашу книгу. Это может обеспечить более быстрое разрешение проблемы. Если вы захотите, загрузите его на сайты www.wikisend.com, а затем поделитесь ссылкой здесь :) –

+0

В ближайшее время. Не знаю почему, но он оставляет некоторые строки. Это действительно странно. – SASUSMC

ответ

0

Не идеально, но я закончил переформатирование столбца на 0.000, а не на валюту. Это решило все проблемы.

Благодарим за помощь.

Смежные вопросы