Страницы: 1
RSS
Скрыть пять строк по одному условию
 
Товарищи, всем доброго дня!
Помогите пожалуйста решить задачу на скрытие нескольких строк в таблице (не умная). Имеется таблица, в которой производяться расчёты.  В ячейке А1 есть выпадающий список. Как реализовать, чтобы когда в ячейке А1 установлено "Группа" строки таблицы (диапазон с 4 строки по 13) были видны все, а когда выбирался Склад1, Склад2... и другой, то скрывались строки от 9 по 13?
Спасибо!
 
Так?
Я не волшебник, я только учусь.
 
Wiss, супер! Спасибо Вам!
 
Wiss, а если у меня на рабочем листе уже есть один код Private Sub, как мне добавить туда еще один, чтобы они работали в своё время, когда нужны?
 
Private Sub Это не название, а скорее тип. Нужно с листа просто его скопировать и всё. Если ваш код тоже worksheet_change, то просто скопируйте в начало своего макроса мой от IF до end If.
Я не волшебник, я только учусь.
 
Если у них разные названия, то что мешает добавить еще один Private Sub?
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Михаил Лебедев, Wiss, товарищи, не могу всё равно. Туповат для такого ремесла. Посмотрите, вот такой есть код, он работает на том же листе, на котором должен работать и тот код, который мне сделал Wiss:
Скрытый текст
 
Код
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("d1:d1")) Is Nothing And Target.Cells.Count = 1 Then
        Application.EnableEvents = False
        If Len(Target.Offset(0, 1)) = 0 Then
            Target.Offset(0, 1) = Target
        Else
            Target.End(xlToRight).Offset(0, 1) = Target
        End If
        Target.ClearContents
        Application.EnableEvents = True
    End If

    If Target.Parent.Range("A1") = "Ãðóïïà" Then
        Target.Parent.Range("9:13").EntireRow.Hidden = False
    Else
        Target.Parent.Range("9:13").EntireRow.Hidden = True
    End If
End Sub
Я не волшебник, я только учусь.
 
Wiss, работает. Вот только небольшой нюанс вылез. У меня выпадающий список, на который должен реагировать Ваш макрос, создан не через "Данные", а через "Элементs ActiveX", и на изменение через данный список макрос не работает. Как быть, подскажите?

Добавил пример с таким списком.
Изменено: tmhashNIK - 04.12.2018 12:37:53
 
Цитата
tmhashNIK написал:
У меня выпадающий список, на который должен реагировать Ваш макрос, создан не через "Данные", а через "Элементs ActiveX",
Зачем (ЗАЧЕМ?!!) же тогда показывать пример с выпадающим в ячейке?
Отслеживайте изменение в этом элементе управления.
 
Юрий М, а как реализовать отслеживание в макросе на этот элемент?
 
В это контроле тоже есть событие Change - его и используйте. Или Click
 
Юрий М, спасибо, но к сожалению, моих знаний не хватит, чтобы ваши два предложения обратить в действенный функционал.
 
tmhashNIK, если бы Вы сразу (СРАЗУ!) показали реальное положение дел в файле - помощь бы уже давно получили.
 
Юрий М, я обязательно учту в следующий раз, когда буду обращаться за помощью на форум.
Изначально, даже не думал, что это окажется важным аспектом. Только спустя несколько проб, начал обращаться с тем. что не выходит соединить два кода, думал, что не верно их соединяю, а потом только дошло, что дело в разных "выпадающих списках", когда руками в А1 попробовал изменить заданные условия из первого сообщения (о котором писал). Вот в этом соль.
Страницы: 1
Наверх