Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скрыть диапазоны строк по условию ИЛИ 0 и ИЛИ "" - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Скрыть диапазоны строк по условию ИЛИ 0 и ИЛИ ""
Storm-103 Дата: Пятница, 15.12.2017, 15:38 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток, уважаемые Гуру!
Требуется ваша профессиональная помощь по написанию скрипта. Суть такова:
Имеется документ Excel с двумя листами "График ТО кусты", в котором собственно находится таблица годового графика, диапазон ячеек с именованным списком "результат". Лист2 - "Акты_ТО-2-3" с Актами ТО в равном количестве объектов из графика первого листа.
Необходимо: скрыть диапазоны строк с Актами, у которых в "результат" "0" или "".
Моих знаний в программировании не достаточно для написания макроса, применив цикл, а тот код, который я применил, он хоть и легкий, но процесс его набивки будет очень долог. Вот этот код:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Акты_ТО-2-3").Range("ТОк01").EntireRow.Hidden = (Range("P5") = 0) Or (Range("P5") = "") 'ТОк01 - с именованным списком
Worksheets("Акты_ТО-2-3").Range("ТОк02").EntireRow.Hidden = (Range("P6") = 0) Or (Range("P6") = "")
'.............................
Worksheets("Акты_ТО-2-3").Range("$271:$297").EntireRow.Hidden = (Range("P15") = 0) Or (Range("P15") = "") 'с диаппазоном
'.............................
Worksheets("Акты_ТО-2-3").Range("$406:$432").EntireRow.Hidden = (Range("P20") = 0) Or (Range("P20") = "")
'..............................
End Sub
[/vba]

И таких строк может быть очень много.
Файл для примера я прикрепил, там же есть немного описания.
Заранее спасибо за помощь и отзывчивость.
К сообщению приложен файл: 1098206.xlsx (97.1 Kb)


Сообщение отредактировал Storm-103 - Пятница, 15.12.2017, 17:51
 
Ответить
СообщениеДоброго времени суток, уважаемые Гуру!
Требуется ваша профессиональная помощь по написанию скрипта. Суть такова:
Имеется документ Excel с двумя листами "График ТО кусты", в котором собственно находится таблица годового графика, диапазон ячеек с именованным списком "результат". Лист2 - "Акты_ТО-2-3" с Актами ТО в равном количестве объектов из графика первого листа.
Необходимо: скрыть диапазоны строк с Актами, у которых в "результат" "0" или "".
Моих знаний в программировании не достаточно для написания макроса, применив цикл, а тот код, который я применил, он хоть и легкий, но процесс его набивки будет очень долог. Вот этот код:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Акты_ТО-2-3").Range("ТОк01").EntireRow.Hidden = (Range("P5") = 0) Or (Range("P5") = "") 'ТОк01 - с именованным списком
Worksheets("Акты_ТО-2-3").Range("ТОк02").EntireRow.Hidden = (Range("P6") = 0) Or (Range("P6") = "")
'.............................
Worksheets("Акты_ТО-2-3").Range("$271:$297").EntireRow.Hidden = (Range("P15") = 0) Or (Range("P15") = "") 'с диаппазоном
'.............................
Worksheets("Акты_ТО-2-3").Range("$406:$432").EntireRow.Hidden = (Range("P20") = 0) Or (Range("P20") = "")
'..............................
End Sub
[/vba]

И таких строк может быть очень много.
Файл для примера я прикрепил, там же есть немного описания.
Заранее спасибо за помощь и отзывчивость.

Автор - Storm-103
Дата добавления - 15.12.2017 в 15:38
sboy Дата: Пятница, 15.12.2017, 16:14 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Макрос готов, оформите свое сообщение согласно правилам (в режиме правки выделите код макроса и нажмите # на панели редактирования)

[p.s.]ну нет, так нет) я ушел на выходные


Яндекс: 410016850021169

Сообщение отредактировал sboy - Пятница, 15.12.2017, 16:44
 
Ответить
СообщениеДобрый день.
Макрос готов, оформите свое сообщение согласно правилам (в режиме правки выделите код макроса и нажмите # на панели редактирования)

[p.s.]ну нет, так нет) я ушел на выходные

Автор - sboy
Дата добавления - 15.12.2017 в 16:14
Storm-103 Дата: Пятница, 15.12.2017, 17:33 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
sboy, добрый вечер, прошу прощение, был без интернета.


Сообщение отредактировал Storm-103 - Пятница, 15.12.2017, 17:55
 
Ответить
Сообщениеsboy, добрый вечер, прошу прощение, был без интернета.

Автор - Storm-103
Дата добавления - 15.12.2017 в 17:33
sboy Дата: Понедельник, 18.12.2017, 09:23 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Если структура актов такая же как и в примере, можно скрывать вот таким макросом.
[vba]
Код
Sub hide_()
    arr_ = Sheets(1).Range("P5:P32").Value
        With Sheets(2)
            For x = 1 To UBound(arr_)
                Select Case arr_(x, 1)
                    Case 0, ""
                    .Rows(27 * (x - 1) + 1 & ":" & (27 * (x - 1) + 27)).Hidden = True
                End Select
            Next x
        End With
End Sub
[/vba]
К сообщению приложен файл: 1098206.xlsb (62.1 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Если структура актов такая же как и в примере, можно скрывать вот таким макросом.
[vba]
Код
Sub hide_()
    arr_ = Sheets(1).Range("P5:P32").Value
        With Sheets(2)
            For x = 1 To UBound(arr_)
                Select Case arr_(x, 1)
                    Case 0, ""
                    .Rows(27 * (x - 1) + 1 & ":" & (27 * (x - 1) + 27)).Hidden = True
                End Select
            Next x
        End With
End Sub
[/vba]

Автор - sboy
Дата добавления - 18.12.2017 в 09:23
Storm-103 Дата: Понедельник, 18.12.2017, 12:30 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Что-то не сростается с этим макросом.
При выборе месяца и переходе на лист2, кол-во графиков остается без изменения, не скрывается группа строк из условия.
При запуске макроса вручную, да, скрываются, но не те.
Если выбрать любой другой месяц из лист1, изменений на лист2 тоже нет.
Повторный запуск макроса скрывает полностью все строки.
 
Ответить
СообщениеЧто-то не сростается с этим макросом.
При выборе месяца и переходе на лист2, кол-во графиков остается без изменения, не скрывается группа строк из условия.
При запуске макроса вручную, да, скрываются, но не те.
Если выбрать любой другой месяц из лист1, изменений на лист2 тоже нет.
Повторный запуск макроса скрывает полностью все строки.

Автор - Storm-103
Дата добавления - 18.12.2017 в 12:30
sboy Дата: Понедельник, 18.12.2017, 13:51 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Ну так я привел код для скрытия. Про обработку изменений и отображения скрытых строк Вы не спрашивали, подумал, что допилите своими силами.
В модуль листа1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$P$4" Then Exit Sub
    Sheets(2).Rows("1:757").Hidden = False
    hide_
End Sub
[/vba]
К сообщению приложен файл: 3956368.xlsb (63.1 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеНу так я привел код для скрытия. Про обработку изменений и отображения скрытых строк Вы не спрашивали, подумал, что допилите своими силами.
В модуль листа1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$P$4" Then Exit Sub
    Sheets(2).Rows("1:757").Hidden = False
    hide_
End Sub
[/vba]

Автор - sboy
Дата добавления - 18.12.2017 в 13:51
Storm-103 Дата: Понедельник, 18.12.2017, 14:13 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
yes Просто нет слов hands
Всё работает согласно желаемому результату!
Спасибо огромное, не первый раз обращаюсь за помощью на ваш сайт.
Вы лучшие.
Буду пробовать усложнять себе задачу дополнительными листами и данными.


Сообщение отредактировал Storm-103 - Вторник, 19.12.2017, 06:54
 
Ответить
Сообщениеyes Просто нет слов hands
Всё работает согласно желаемому результату!
Спасибо огромное, не первый раз обращаюсь за помощью на ваш сайт.
Вы лучшие.
Буду пробовать усложнять себе задачу дополнительными листами и данными.

Автор - Storm-103
Дата добавления - 18.12.2017 в 14:13
Storm-103 Дата: Вторник, 19.12.2017, 08:57 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброе утро, уважаемый sboy!
Переборов свою скромность, решил обратиться за помощью еще раз по этой же теме. Можно было бы решить задачу при помощи формул, но макрос выглядит красивее.
Вопрос:
каким образом можно сделать выборку данных с "лист1" и поместить в диапазон на "лист2" по условию?
Цель:
- найти в диапазоне "P5:P32" значение "ТО-1" (лист1);
- из диапазона "В5:В32" (лист1), через запятую скопировать данные в диапазон "Н10:АЕ12" (лист2), при этом текст "Кустовая площадка №" исключить.

Очень рассчитываю на Вашу помощь.
К сообщению приложен файл: 9020763.xlsb (67.7 Kb)


Сообщение отредактировал Storm-103 - Вторник, 19.12.2017, 09:33
 
Ответить
СообщениеДоброе утро, уважаемый sboy!
Переборов свою скромность, решил обратиться за помощью еще раз по этой же теме. Можно было бы решить задачу при помощи формул, но макрос выглядит красивее.
Вопрос:
каким образом можно сделать выборку данных с "лист1" и поместить в диапазон на "лист2" по условию?
Цель:
- найти в диапазоне "P5:P32" значение "ТО-1" (лист1);
- из диапазона "В5:В32" (лист1), через запятую скопировать данные в диапазон "Н10:АЕ12" (лист2), при этом текст "Кустовая площадка №" исключить.

Очень рассчитываю на Вашу помощь.

Автор - Storm-103
Дата добавления - 19.12.2017 в 08:57
Pelena Дата: Вторник, 19.12.2017, 10:23 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19513
Репутация: 4632 ±
Замечаний: ±

Excel 365 & Mac Excel
Storm-103, этот вопрос не относится к данной теме. Создайте новую


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеStorm-103, этот вопрос не относится к данной теме. Создайте новую

Автор - Pelena
Дата добавления - 19.12.2017 в 10:23
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!