Страницы: 1
RSS
Макрос - скрыть/отобразить пустые строки, помогите сделать макрос
 
Есть таблица, в которую вписываются данные (автоматически) из другой таблицы. Некоторые строги всегда пустые, и они могут меняться. Помогите написать макрос что бы можно было скрыть пустые строки и также отобразить их. За основу наверное можно взять столбец (А) там отображается "х" если строка пустая. Заранее спасибо!!
Изменено: STASonSmol - 10.09.2017 01:26:17
 
готовый макрос применить не пробовали?
http://excelvba.ru/code/ConditionalRowsDeleting
 
Игорь, доброго времени, а я вот всё равно не понял как скрывать пустые строки или те у которые в результате действия вычисления формул равны 0. а тем более как раскрывать
 
Цитата
как раскрывать
Код
1
2
3
4
5
6
Sub Отобразить_строки()
Dim i As Long
    For i = 2 To 100
      If Rows(i).Hidden = True Then Rows(i).Hidden = False
    Next
End Sub
 
Kuzmich,спасибо большое))). А как скрыть в указанном диапазоне? :D  
Изменено: alex1210 - 10.09.2017 11:40:28
 
Цитата
А как скрыть в указанном диапазоне?
Так в примере есть готовый макрос, не смотрели?
 
Kuzmich, смотрел, только не пойму как задать условие скрыть пустые строки, или строки в которых ошибка
Изменено: alex1210 - 10.09.2017 12:31:31
 
Цитата
как задать условие скрыть пустые строки
В примере проверяется наличие "х" в столбце А.
 
Володя, привет. Проще и гораздо быстрей будет:
Код
1
2
3
Sub Отобразить_строки()
 Rows("2:100").Hidden = 0
End Sub
Я сам - дурнее всякого примера! ...
 
Сергей привет, согласен.
 
Ну и скрывать можно без формул с х-ми ;)
Код
1
2
3
4
5
6
7
8
9
Sub Пустые_строки()
    Dim i As Long
    Application.ScreenUpdating = False
    For i = 2 To [b2].End(xlDown).Row
                If Not IsNull(Range(Cells(i, 3), Cells(i, 5)).Text) Then _
            Rows(i).Hidden = True
    Next i
    Application.ScreenUpdating = True
End Sub
Я сам - дурнее всякого примера! ...
 
Kuzmich, вот код. подскажите как можно задать условие чтобы  скрыть строку первая ячейка которая равна ноль, это в одном листе. скрыть строчку если в ней ошибка это на другом листе
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Sub СкрытиеСтрокПоНесколькимУсловиям()
    Dim ra As Range, delra As Range
    Application.ScreenUpdating = False    ' отключаем обновление экрана
 
    ' ищем и удаляем строки, содержащие заданный текст
    ' (можно указать сколько угодно значений, и использовать подстановочные знаки)
   СкрытьСтрокиСТекстом = Array("Наименование *", "Количество", _
                                  "текст?", "цен*сти", "*78*")
  
    ' перебираем все строки в используемом диапазоне листа
    For Each ra In ActiveSheet.UsedRange.Rows
        ' перебираем все фразы в массиве
        For Each word In УдалятьСтрокиСТекстом
            ' если в очередной строке листа найден искомый текст
            If Not ra.Find(word, , xlValues, xlPart) Is Nothing Then
                ' добавляем строку в диапазон для удаления
                'If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
                 If Not delra Is Nothing Then delra.EntireRow.Hidden=TRUE
            End If
        Next word
    Next
  
    ' если подходящие строки найдены, то: (оставьте одну из 2 следующих строк)
    If Not delra Is Nothing Then delra.EntireRow.Hidden = True    ' скрываем их
    If Not delra Is Nothing Then delra.EntireRow.Delete    ' удаляем их
End Sub
Страницы: 1
Читают тему
Наверх
Loading...