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

Вход

Регистрация

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

 

= Мир MS Excel/Скрытие/показ строк в таблице - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие/показ строк в таблице (Макросы/Sub)
Скрытие/показ строк в таблице
Raven2009 Дата: Вторник, 08.11.2016, 23:43 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.

Есть файл с листом, на котором друг за другом идут вниз несколько таблиц.

Подскажите пож-ста код для кнопки, который будет скрывать/показывать строки к примеру для первой таблицы, в том числе и ее шапки (строки с 11 по 29).

При этом учитывается тот факт, что строки в таблице могут как добавляться, так и исчезать. То есть наверно необходимо условие про непустую строку в диапазоне для выполнения кода. Давно я делал нечто подобное, но подзабыл...

Заранее спасибо)))
К сообщению приложен файл: -2-.rar(80Kb)
 
Ответить
СообщениеДобрый день.

Есть файл с листом, на котором друг за другом идут вниз несколько таблиц.

Подскажите пож-ста код для кнопки, который будет скрывать/показывать строки к примеру для первой таблицы, в том числе и ее шапки (строки с 11 по 29).

При этом учитывается тот факт, что строки в таблице могут как добавляться, так и исчезать. То есть наверно необходимо условие про непустую строку в диапазоне для выполнения кода. Давно я делал нечто подобное, но подзабыл...

Заранее спасибо)))

Автор - Raven2009
Дата добавления - 08.11.2016 в 23:43
_Boroda_ Дата: Среда, 09.11.2016, 00:24 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9347
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Такой вариант
В С2 вводим номер строки, от которой вниз хотим скрыть все строки до первой пустой. И жмем кнопку.
Макрос
[vba]
Код
Sub tt()
    If Range("C2") < 7 Then Exit Sub
    If IsNumeric(Range("C2")) Then
        Application.ScreenUpdating = 0
        r0_ = Range("C2")
        h_ = Not Rows(r0_).Hidden
        For i = r0_ To Rows.Count
            If Range("C" & i) <> "" Then
                Rows(i).Hidden = h_
            Else
                Exit For
            End If
        Next i
        Application.ScreenUpdating = 1
    End If
End Sub
[/vba]
К сообщению приложен файл: -2-1.xlsb(82Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТакой вариант
В С2 вводим номер строки, от которой вниз хотим скрыть все строки до первой пустой. И жмем кнопку.
Макрос
[vba]
Код
Sub tt()
    If Range("C2") < 7 Then Exit Sub
    If IsNumeric(Range("C2")) Then
        Application.ScreenUpdating = 0
        r0_ = Range("C2")
        h_ = Not Rows(r0_).Hidden
        For i = r0_ To Rows.Count
            If Range("C" & i) <> "" Then
                Rows(i).Hidden = h_
            Else
                Exit For
            End If
        Next i
        Application.ScreenUpdating = 1
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 09.11.2016 в 00:24
Raven2009 Дата: Среда, 09.11.2016, 05:41 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо, попробую))) насчёт введения номера строки, в принципе тут наверно можно без введения номера, ведь первая строка каждой таблицы всегда в одном и том же месте)))
 
Ответить
СообщениеСпасибо, попробую))) насчёт введения номера строки, в принципе тут наверно можно без введения номера, ведь первая строка каждой таблицы всегда в одном и том же месте)))

Автор - Raven2009
Дата добавления - 09.11.2016 в 05:41
_Boroda_ Дата: Среда, 09.11.2016, 07:46 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9347
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
То есть Вы хотите на каждую таблицу свой макрос? и свою кнопку? .не многовато получится?
Я для того так и написал, чтобы на все таблицы был один макрос и одна кнопка.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТо есть Вы хотите на каждую таблицу свой макрос? и свою кнопку? .не многовато получится?
Я для того так и написал, чтобы на все таблицы был один макрос и одна кнопка.

Автор - _Boroda_
Дата добавления - 09.11.2016 в 07:46
Raven2009 Дата: Среда, 09.11.2016, 09:24 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Да, мысль открывать/скрывать каждую таблицу отдельной кнопкой)) Не многовато))

Как вы заметили, в каждой таблице отдельная смена, я предполгаю, что каждой смене понадобится информация только своей смены, а не всех смен))
 
Ответить
СообщениеДа, мысль открывать/скрывать каждую таблицу отдельной кнопкой)) Не многовато))

Как вы заметили, в каждой таблице отдельная смена, я предполгаю, что каждой смене понадобится информация только своей смены, а не всех смен))

Автор - Raven2009
Дата добавления - 09.11.2016 в 09:24
Timber_Wolf Дата: Среда, 09.11.2016, 09:47 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,
[vba]
Код
If IsNumeric(Range("C2")) Then
[/vba]
12,5 тоже число... =) Макрос умирает =)
К теме не относится, но... =)
 
Ответить
Сообщение_Boroda_,
[vba]
Код
If IsNumeric(Range("C2")) Then
[/vba]
12,5 тоже число... =) Макрос умирает =)
К теме не относится, но... =)

Автор - Timber_Wolf
Дата добавления - 09.11.2016 в 09:47
_Boroda_ Дата: Среда, 09.11.2016, 09:49 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 9347
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Как вы заметили, в каждой таблице отдельная смена

Извините, но никак я не заметил. Не обижайтесь, но мне вообще без разницы - для меня это просто файл с какими-то данными. Смены, апельсины, бабочки, мне все равно - это просто данные.
А вот про это
каждой смене понадобится информация только своей смены
я что-то не совсем понял. Написали бы в первом сообщении - обязательно был бы дополнительный вопрос. Вот смотрите - у Вас человек из какой-то смены пришел и для того, чтобы увидеть только свою смену, он что сделать должен? Получается, что он должен последовательно понажимать на кучу кнопок, скрывающих каждую смену, кроме своей. Я правильно Вас понял? Может, немного облегчить ему работу и сделать кнопку, работающую наоборот - скрывающую всё и открывающую только нужную смену?
А по поводу
Да, мысль открывать/скрывать каждую таблицу отдельной кнопкой)) Не многовато))
просто замените в моем макросе строку
[vba]
Код
r0_ = Range("C2")
[/vba]
на строку
[vba]
Код
r0_ = 11
[/vba]
и будет скрываться со строки 11 и до первой пустой ниже

Timber_Wolf,
12,5 тоже число...

Согласен. Спасибо. Тогда
[vba]
Код
r0_ = Int(Range("C2"))
[/vba]
Но автору это не нужно, как оказалось.
Добавлено Оказалось, что нужно стационарное начало много раз, а не произвольное один. Конец добавления
[p.s.]Хотел, как лучше, вышло ...


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Как вы заметили, в каждой таблице отдельная смена

Извините, но никак я не заметил. Не обижайтесь, но мне вообще без разницы - для меня это просто файл с какими-то данными. Смены, апельсины, бабочки, мне все равно - это просто данные.
А вот про это
каждой смене понадобится информация только своей смены
я что-то не совсем понял. Написали бы в первом сообщении - обязательно был бы дополнительный вопрос. Вот смотрите - у Вас человек из какой-то смены пришел и для того, чтобы увидеть только свою смену, он что сделать должен? Получается, что он должен последовательно понажимать на кучу кнопок, скрывающих каждую смену, кроме своей. Я правильно Вас понял? Может, немного облегчить ему работу и сделать кнопку, работающую наоборот - скрывающую всё и открывающую только нужную смену?
А по поводу
Да, мысль открывать/скрывать каждую таблицу отдельной кнопкой)) Не многовато))
просто замените в моем макросе строку
[vba]
Код
r0_ = Range("C2")
[/vba]
на строку
[vba]
Код
r0_ = 11
[/vba]
и будет скрываться со строки 11 и до первой пустой ниже

Timber_Wolf,
12,5 тоже число...

Согласен. Спасибо. Тогда
[vba]
Код
r0_ = Int(Range("C2"))
[/vba]
Но автору это не нужно, как оказалось.
Добавлено Оказалось, что нужно стационарное начало много раз, а не произвольное один. Конец добавления
[p.s.]Хотел, как лучше, вышло ...

Автор - _Boroda_
Дата добавления - 09.11.2016 в 09:49
Raven2009 Дата: Среда, 09.11.2016, 12:24 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
У автора рабочий будний день...(( Не нервничайте и спасибо вам за все, я уже разобрался с кнопками)))
 
Ответить
СообщениеУ автора рабочий будний день...(( Не нервничайте и спасибо вам за все, я уже разобрался с кнопками)))

Автор - Raven2009
Дата добавления - 09.11.2016 в 12:24
_Boroda_ Дата: Среда, 09.11.2016, 12:38 | Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 9347
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
У автора рабочий будний день...

А причем здесь это?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
У автора рабочий будний день...

А причем здесь это?

Автор - _Boroda_
Дата добавления - 09.11.2016 в 12:38
Raven2009 Дата: Среда, 09.11.2016, 17:44 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А причем здесь это?


Да ни при чем, показалось, что нервничаете, что не сразу отвечаю)))

Но автору это не нужно, как оказалось.


Все мне нужно, спасибо вам за помощь)))
 
Ответить
Сообщение
А причем здесь это?


Да ни при чем, показалось, что нервничаете, что не сразу отвечаю)))

Но автору это не нужно, как оказалось.


Все мне нужно, спасибо вам за помощь)))

Автор - Raven2009
Дата добавления - 09.11.2016 в 17:44
_Boroda_ Дата: Среда, 09.11.2016, 17:51 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 9347
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
показалось, что нервничаете, что не сразу отвечаю)))

Не, я ж и сам на работе.
Это я про то писал, что число в С2 важно только для варианта, от которого Вы отказались. Для вариантов с жесткой привязкой макроса к первой ячейке проверяемого диапазона число в С2 вообще не нужно, следовательно, и проверка его тоже не нужна


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
показалось, что нервничаете, что не сразу отвечаю)))

Не, я ж и сам на работе.
Это я про то писал, что число в С2 важно только для варианта, от которого Вы отказались. Для вариантов с жесткой привязкой макроса к первой ячейке проверяемого диапазона число в С2 вообще не нужно, следовательно, и проверка его тоже не нужна

Автор - _Boroda_
Дата добавления - 09.11.2016 в 17:51
Raven2009 Дата: Среда, 09.11.2016, 21:37 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Насчёт общей кнопки вы правы))) все таки использую наряду со множеством кнопок одну общую наверху, чтобы скрыть сразу несколько таблиц, а потом посредством одной из нескольких других открыть необходимую таблицу.
Спасибо))

Не подскажете, с колонками как преобразовать код? К примеру если понадобится скрыть колонки с шапкой Inbound Stats??
 
Ответить
СообщениеНасчёт общей кнопки вы правы))) все таки использую наряду со множеством кнопок одну общую наверху, чтобы скрыть сразу несколько таблиц, а потом посредством одной из нескольких других открыть необходимую таблицу.
Спасибо))

Не подскажете, с колонками как преобразовать код? К примеру если понадобится скрыть колонки с шапкой Inbound Stats??

Автор - Raven2009
Дата добавления - 09.11.2016 в 21:37
Raven2009 Дата: Среда, 09.11.2016, 22:20 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А все, и с колонками разобрался))) Отбой)))
 
Ответить
СообщениеА все, и с колонками разобрался))) Отбой)))

Автор - Raven2009
Дата добавления - 09.11.2016 в 22:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие/показ строк в таблице (Макросы/Sub)
Страница 1 из 11
Поиск:

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