Добрый день уважаемые форумчане!!! Снова обращаюсь к вам за помощью, прошу вас помочь. Нужен макрос чтоб с помощью него скрывать не нужные строки. На столбце "U" установил 5-ть переключателей управления. 2 ОБРАЗЦА; 3 ОБРАЗЦА; 4 ОБРАЗЦА; 5 ОБРАЗЦОВ; 6 ОБРАЗЦОВ Если оператор установил 2 ОБРАЗЦА (значится он будет вносить данные по 2-м образцам) и должны скрыться диапазон строк (32:35) Если оператор установил 3 ОБРАЗЦА (значится он будет вносить данные по 3-м образцам) и должны скрыться диапазон строк (33:35) Если оператор установил 4 ОБРАЗЦА (значится он будет вносить данные по 4-м образцам) и должны скрыться диапазон строк (34:35) Если оператор установил 5 ОБРАЗЦОВ (значится он будет вносить данные по 5-и образцам) и должны скрыться диапазон строк (35) Если оператор установил 6 ОБРАЗЦОВ (значится он будет вносить данные по 6-и образцам) и соответственно ни чего не скрывается Просто хотелось бы чтоб сам протокол при распечатывании выглядел аккуратным и не содержал не нужной информации. Возможен ли такой макрос???
Добрый день уважаемые форумчане!!! Снова обращаюсь к вам за помощью, прошу вас помочь. Нужен макрос чтоб с помощью него скрывать не нужные строки. На столбце "U" установил 5-ть переключателей управления. 2 ОБРАЗЦА; 3 ОБРАЗЦА; 4 ОБРАЗЦА; 5 ОБРАЗЦОВ; 6 ОБРАЗЦОВ Если оператор установил 2 ОБРАЗЦА (значится он будет вносить данные по 2-м образцам) и должны скрыться диапазон строк (32:35) Если оператор установил 3 ОБРАЗЦА (значится он будет вносить данные по 3-м образцам) и должны скрыться диапазон строк (33:35) Если оператор установил 4 ОБРАЗЦА (значится он будет вносить данные по 4-м образцам) и должны скрыться диапазон строк (34:35) Если оператор установил 5 ОБРАЗЦОВ (значится он будет вносить данные по 5-и образцам) и должны скрыться диапазон строк (35) Если оператор установил 6 ОБРАЗЦОВ (значится он будет вносить данные по 6-и образцам) и соответственно ни чего не скрывается Просто хотелось бы чтоб сам протокол при распечатывании выглядел аккуратным и не содержал не нужной информации. Возможен ли такой макрос???lebensvoll
Select Case Range("X10").Value Case 1 Rows("32:35").Hidden = True Case 2 Rows("33:35").Hidden = True Case 3 Rows("34:35").Hidden = True Case 4 Rows(35).Hidden = True End Select
Application.ScreenUpdating = True
End Sub
[/vba]
Макрос использует данные из X10. [vba]
Код
Sub Скрыть()
Application.ScreenUpdating = False
Rows("32:35").Hidden = False
Select Case Range("X10").Value Case 1 Rows("32:35").Hidden = True Case 2 Rows("33:35").Hidden = True Case 3 Rows("34:35").Hidden = True Case 4 Rows(35).Hidden = True End Select
Karataev, Спасибо огромное !!! Конечно понимаю что это не возможно (и из-за объединение ячеек не получится). Но возможно ли чтоб при скрывании строк границы отображались в самой нижней части Вот смотрите когда используешь 6 образцов то все выглядит красиво: [img][/img] А когда используешь к примеру 2;3;4;5-ть то выглядит уже не так КОМИЛЬФО ((( [img][/img] Скорее всего НЕЛЬЗЯ!? А так ПРОСТО СУПЕР, спасибо!!!
Karataev, Спасибо огромное !!! Конечно понимаю что это не возможно (и из-за объединение ячеек не получится). Но возможно ли чтоб при скрывании строк границы отображались в самой нижней части Вот смотрите когда используешь 6 образцов то все выглядит красиво: [img][/img] А когда используешь к примеру 2;3;4;5-ть то выглядит уже не так КОМИЛЬФО ((( [img][/img] Скорее всего НЕЛЬЗЯ!? А так ПРОСТО СУПЕР, спасибо!!!lebensvoll
Sub tt() Application.ScreenUpdating = 0 Rows("30:35").EntireRow.Hidden = False If Range("X10") < 5 Then Rows(31 + Range("X10") & ":35").EntireRow.Hidden = True End If End Sub
[/vba] Жирную черту тоже сделал. Как? Интересно, кто догадается? Кто именно ЗНАЕТ, не подсказывайте.
Добавлено Игорь (Китин) догадался. Просто выделяем нижние (пустые) ячейки (строку 36) - Формат - Границы. Там уже будет стоять жирная граница. Жмем ОК. Дело в том, что, когда ставили жирную границу, то ее ставили для нижней границы строки 35 и, поскольку строка 35 скрывается, то и граница скрывается тоже. А вот если поставить верхнюю границу строки 36, то, поскольку строка 36 не скрывается, то и границу видно. Хотя на вид это одно и то же.
У меня макрос вот такой получился [vba]
Код
Sub tt() Application.ScreenUpdating = 0 Rows("30:35").EntireRow.Hidden = False If Range("X10") < 5 Then Rows(31 + Range("X10") & ":35").EntireRow.Hidden = True End If End Sub
[/vba] Жирную черту тоже сделал. Как? Интересно, кто догадается? Кто именно ЗНАЕТ, не подсказывайте.
Добавлено Игорь (Китин) догадался. Просто выделяем нижние (пустые) ячейки (строку 36) - Формат - Границы. Там уже будет стоять жирная граница. Жмем ОК. Дело в том, что, когда ставили жирную границу, то ее ставили для нижней границы строки 35 и, поскольку строка 35 скрывается, то и граница скрывается тоже. А вот если поставить верхнюю границу строки 36, то, поскольку строка 36 не скрывается, то и границу видно. Хотя на вид это одно и то же._Boroda_
День добрый. Попытался модифицировать макрос от Karataev, ничего не получилось. Задача похожая, скрывать строки в зависимости от ячейки и ещё в оригинале строки стоят на месте, у меня планируется что будут двигаться
День добрый. Попытался модифицировать макрос от Karataev, ничего не получилось. Задача похожая, скрывать строки в зависимости от ячейки и ещё в оригинале строки стоят на месте, у меня планируется что будут двигатьсяilikeread