2015-03-11 10 views
0

Мне нужен код VBA, который может удалить всю строку, если две ячейки (которые могут находиться в любом столбце листа) содержат определенный текст.Как удалить целую строку, если две ячейки содержат определенный текст

У меня есть ежедневный файл отчетов о печати, и в этом файле существует текст (в не определенном столбце) "printed BlackWhitepages, total = #" и "printed Colourpages, total = #" также в любом столбце.

# обозначает номер, поэтому в моем файле может быть 0-99999 ...., в зависимости от того, сколько страниц было напечатано.

Файл содержит столбцы из A в BA и тысячи строк, а Blackwhitepages и Colourpages текст может быть на каждой колонке, в зависимости от задания печати.

Я хочу VBA, чтобы посмотреть на весь лист, а если строка содержит "printed BlackWhitepages, total = 0" и "printed Colourpages, total = 0", вся строка должна быть удалена.

ответ

1

Попробуйте следующий код:

Sub DeleteRow() 

For i = 1 To Range("A" & Rows.Count).End(xlUp).Row 
    VarBnW = 0 
    VarCol = 0 
    For Each cell In Range("A" & i & ":" & "BA" & i) 

     If Trim(cell.Value) = "Gedruckte Schwarzweißseiten, insgesamt = 0" Then VarBnW = 1 
     If Trim(cell.Value) = "Gedruckte Farbseiten, insgesamt = 0" Then VarCol = 1 

     If VarCol + VarBnW = 2 Then 
      MsgBox cell.Address 
      cell.EntireRow.Select 
      Selection.Delete 
      i = i - 1 
     End If 

    Next cell 
Next i 

End Sub 
+0

Здравствуйте izzymo, спасибо за код, но если я его активировать ничего не происходит. Я создал тестовый файл для вас, чтобы вы могли видеть, как выглядят мои данные. Вы можете скачать его здесь [Dropbox] (https://dl.dropboxusercontent.com/u/14554224/testfile.zip). Я удалил только один coloum, в который были включены отпечатанные имена файлов (для обеспечения конфиденциальности), и я отметил ячейки желтыми, которые следует удалить, см. Строки 17,45,46,47,119,193,194 и 197. – slekk

+0

Только для информации текст в файле находится на немецком языке, поэтому текст, который нужно удалить, является ** «Gedruckte Schwarzweißseiten, insgesamt = 0» ** и ** «Gedruckte Farbseiten, insgesamt = 0» ** – slekk

+0

Причина, по которой он не работал, был из-за пробел в начале текста. Теперь я отредактировал код, чтобы учесть это. а также изменил код на немецкий. Пожалуйста, обратитесь к отредактированному ответу выше. – izzymo

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