Страницы: 1
RSS
Очистка строк по условию, добавить в макрос дополнительное условие
 
Здравствуйте, уважаемые форумчане!
Макрос очищает от формул и значений  строки таблицы, в которых  ячейка 6 столбца не содержит данных.
Требуется добавить условие: удалять данные кроме данных находящихся в ячейке 4 (“D”) столбца
вот собственно сам макрос, в который требуется добавить озвученное условие:  
Код
[/CODE]Sub clear_r ()
Dim x&, i&, j&, s$, ii&, a
    x = Cells(Rows.Count, 6).End(xlUp).Row - 9
For i = x To 5 Step -1
        If Cells(i, 6) = Empty Then
          Rows(i).ClearContents
        End If
     Next
End Sub  [CODE]
 
А сколько всего столбцов зайдействовано в таблице?
 
может быть разное от 7 до 15
 
Лариса, попробуйте
Код
Sub clear_r()
Dim x&, i&, j&, s$, ii&, a
  x = Cells(Rows.Count, 6).End(xlUp).Row - 9
  For i = x To 5 Step -1
    If Cells(i, 6) = Empty Then
      s = Cells(i, "D").Formula
      Rows(i).ClearContents
      Cells(i, "D").Formula = s
    End If
  Next
End Sub
 
Код
Sub clear_r()
Dim x&, i&
    x = Cells(Rows.Count, 6).End(xlUp).Row - 9
    For i = x To 5 Step -1
        If Cells(i, 6) = Empty Then
'          Rows(i).ClearContents
          Union(Range(Cells(i, 1), Cells(i, 3)), Range(Cells(i, 5), Cells(i, 15))).ClearContents
        End If
    Next
End Sub
 
Казанский, спасибо! Работает!
 
Юрий и Ваш вариант супер!
 
Странная закономерность в макросах
Перестает очищать данные при малом количестве строк...
Или , что то у меня не так с таблицами? Ребята, посмотрите пожалуйста.
Листы 1-2  - абсолютно одинаковые таблицы но с разным кол-вом строк. На листе 2 (с большим коич.строк) макросы работают , а листе 1 нет.
А на листе 3 почему то вообще макросы не занимаются своим делом...
в чем дело никак не пойму...
 
Начнём с того, что у Вас последняя строка = минус 4. Строки с таким номером не может быть по определению.
Почему пытаетесь определить номер последней строки по столбцу 6, если там возможно отсутствие данных?
Определяйте по первому столбцу и не вычитайте 9.
Код
x = Cells(Rows.Count, 1).End(xlUp).Row
 
ясно, спасибо! вечером займусь
Страницы: 1
Наверх