Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Скрытие строк по условию в Excel

Ответить
Настройки темы
Разное - [решено] Скрытие строк по условию в Excel

Ветеран


Сообщения: 519
Благодарности: 90


Конфигурация

Профиль | Отправить PM | Цитировать


Требуется скрыть/отобразить строки нажатием кнопки по условию.
Условие: искать ячейки с типом данных (Данные->Проверка->Условие проверки) "Список" и скрывать всю строку, в который находится данная ячейка.
Пробовал изменить макрос:
читать дальше »
Код: Выделить весь код
Sub HideBlankRows()    ' скрывает все пустые строки
    Dim sh As Worksheet, ro1 As Range, ro2 As Range, ro As Range, rowss As Range
    Application.ScreenUpdating = False
    With ActiveSheet
        Set ro1 = .UsedRange.Cells(.UsedRange.Cells.Count).Offset(1): Set ro2 = ro1.End(xlDown)
        Range(ro1, ro2).EntireRow.Hidden = True
        For Each ro In .UsedRange.EntireRow
            If ro.Text = vbNullString Then If rowss Is Nothing Then Set rowss = ro Else Set rowss = Union(rowss, ro)
        Next
        If Not rowss Is Nothing Then rowss.EntireRow.Hidden = True
    End With
    Application.ScreenUpdating = True
End Sub
Sub ShowHiddenRows()    ' отображает все скрытые строки
    Application.ScreenUpdating = False: ActiveSheet.Rows.Hidden = False: Application.ScreenUpdating = True
End Sub

Но в них я практически полный ноль.
Помогите исправить, пожалуйста. И заранее спасибо.

Отправлено: 23:22, 09-06-2011

 

Модератор


Moderator


Сообщения: 16855
Благодарности: 3248

Профиль | Сайт | Отправить PM | Цитировать


Что вас не устраивает? Прекрасно работает.

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 08:47, 10-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 519
Благодарности: 90

Профиль | Отправить PM | Цитировать


okshef, макрос ищет пустые строки, а мне требуется искать ячейку с условием проверки "Список" и как найдёт, скрыть всю строку.
то есть искал по свойству xlValidateList ячейки

Последний раз редактировалось S.T.R.E.L.O.K., 10-06-2011 в 10:20.


Отправлено: 09:05, 10-06-2011 | #3


Старожил


Сообщения: 191
Благодарности: 64

Профиль | Отправить PM | Цитировать


Могу вот такое готовое решение предложить. Не то, что просите, но может сойдет.

Код: Выделить весь код
Sub HideRowsMy()
    Application.ScreenUpdating = False
    With ActiveSheet
        '---- номер последней строки с непустой ячейкой
        RowMax = Cells.SpecialCells(xlCellTypeLastCell).Row
        '---- номер последней колонки с непустой ячейкой
        ColMax = Cells.SpecialCells(xlCellTypeLastCell).Column
        For i = 1 To RowMax
            If Not IsEmpty(Cells(i, ColMax)) Then
                Set CurrR = Cells(i, ColMax)
                CurrR.EntireRow.Hidden = True
            End If
        Next i
    End With
    Application.ScreenUpdating = True
End Sub
Суть. Правее всех данных (должен получиться последний непустой столбец) проставляем метки в тех строках, которые требуют скрытия. Метки могут быть любые, например, плюски - лишь бы ячейка стала непустой. Макрос скроет все строки с такими метками.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:32, 10-06-2011 | #4


Ветеран


Сообщения: 519
Благодарности: 90

Профиль | Отправить PM | Цитировать


v12345, дело в том, что никак не могу задать поиск по xlvalidatelist

Отправлено: 11:26, 10-06-2011 | #5


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Никак не получается решить следующее:
Диапазон с данными и шапкой, классика (A6:V500), Изначально все пустые строки (для ввода инфы) Скрыты, кроме самой первой. Далее, по мере заполнения первой (и каждой последующей) строки, следующая строка - Отображается, и наоборот. По аналогии с таблицами Access (причем критерием заполненности строки будет значение [<> ""] нескольких фиксированных столбцов(ячеек) каждой строки в диапазоне). Долго лазил по форумам и не только, не помогло толком, мудрецы, помогите чайнику http://www.fotolink.su/v.php?id=fbe1...a6d76db2520f75

Отправлено: 16:27, 03-06-2015 | #6


Модератор


Moderator


Сообщения: 16855
Благодарности: 3248

Профиль | Сайт | Отправить PM | Цитировать


netlancer@vk, а Умные таблицы - не проще?

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:39, 03-06-2015 | #7



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Скрытие строк по условию в Excel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Помогите написать макрос в Excel, экспорт данных из Excel в Word. E.v.g Программирование и базы данных 7 03-05-2018 22:18
CMD/BAT - [решено] Копирование строк в отдельный файл по условию Seryoga204 Скриптовые языки администрирования Windows 26 24-08-2016 23:33
2007 - [решено] Excel 2007 Проблема установки высоты строк и ширины столбца White Rabbit Microsoft Office (Word, Excel, Outlook и т.д.) 9 27-08-2011 11:27
PEAR::Spreadsheet_Excel_Writer (группировка строк в Excel)??? kilmorn Вебмастеру 1 21-03-2007 11:23
Скрипт по условию. Butunin Klim Программное обеспечение Windows 7 18-08-2006 09:37




 
Переход