Страницы: 1
RSS
макрос фильтра ИЛИ для трёх столбцов
 
Пожалуйста, помогите с написанием макроса.
Есть три столбца, заполненных данными. В первом - даты. во втором - числа, в третьем - тексты.
В каждом из столбцов есть хаотично расположенные пустые ячейки.
Отфильтровать строки надо так, чтоб остались только строки где хотя бы в одном из столбцов есть данные.
То есть пустых строк не должно отображаться.
 
https://www.planetaexcel.ru/techniques/2/62/
 
Код
Sub BlanckRowsHide()
  Dim a, d, r&
  a = Intersect(ActiveSheet.UsedRange, [a:c])
  ReDim d(1 To UBound(a), 1 To 1)
  For r = 1 To UBound(a)
    If Not IsEmpty(a(r, 1)) Then
      d(r, 1) = 1
    ElseIf Not IsEmpty(a(r, 2)) Then
      d(r, 1) = 1
    ElseIf Not IsEmpty(a(r, 3)) Then
      d(r, 1) = 1
    End If
  Next
  [d1].Resize(UBound(d), 1) = d
  If ActiveSheet.AutoFilter Is Nothing Then [a:d].AutoFilter
  If ActiveSheet.AutoFilter.Range.Columns.Count < 4 Then
    [a1].AutoFilter: [a:d].AutoFilter
  End If
  ActiveSheet.UsedRange.AutoFilter Field:=4, Criteria1:="<>"
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Без макроса. В четвертом столбце пишем формулу
Код
=СЧЁТЗ(A1:C1)>0

Протягиваем её до конца данных, выделяем фильтром ЛОЖЬ в этом столбце и удаляем строки со значением ЛОЖЬ.

 
Prosvetov, Ігор Гончаренко, gling, спасибо.
Идею понял. Буду приспосабливать под мою прикладную задачу (столбцов примерно 200).
Страницы: 1
Наверх