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

Вход

Регистрация

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

 

= Мир MS Excel/Кнопка скрывающая и отображающая строки (3 позиции) - Мир MS Excel

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

Excel 2010
Здравствуйте.
Подскажите пожалуйста макрос на кнопку, которая при нажатии будет делать следующее:
1 нажатие отображает скрытые строки с 12-18
2 нажатие отображает скрытые строки с 19-25
3 нажатие скрывает строки с 12-25.

И так по кругу...
К сообщению приложен файл: 1567771.xlsx(11Kb)
 
Ответить
СообщениеЗдравствуйте.
Подскажите пожалуйста макрос на кнопку, которая при нажатии будет делать следующее:
1 нажатие отображает скрытые строки с 12-18
2 нажатие отображает скрытые строки с 19-25
3 нажатие скрывает строки с 12-25.

И так по кругу...

Автор - heaven33rus
Дата добавления - 12.07.2017 в 12:06
_Boroda_ Дата: Среда, 12.07.2017, 12:31 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10898
Репутация: 4495 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Такой вариант с меняющимися надписями на кнопке
[vba]
Код
Private Sub CommandButton1_Click()
    cbn_ = CommandButton1.Caption
    pok_ = "Показать"
    skr_ = "Скрыть"
    If InStr(cbn_, pok_) Then
        t_ = pok_
    Else
        t_ = skr_
    End If
    str_ = Replace(Mid(cbn_, Len(t_) + 2), "-", ":")
    Rows(str_).EntireRow.Hidden = t_ = skr_
    Select Case cbn_
        Case pok_ & " 12-18"
            CommandButton1.Caption = pok_ & " 19-25"
        Case pok_ & " 19-25"
            CommandButton1.Caption = skr_ & " 12-25"
        Case skr_ & " 12-25"
            CommandButton1.Caption = pok_ & " 12-18"
    End Select
End Sub
[/vba]
К сообщению приложен файл: 1567771_1.xlsm(22Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТакой вариант с меняющимися надписями на кнопке
[vba]
Код
Private Sub CommandButton1_Click()
    cbn_ = CommandButton1.Caption
    pok_ = "Показать"
    skr_ = "Скрыть"
    If InStr(cbn_, pok_) Then
        t_ = pok_
    Else
        t_ = skr_
    End If
    str_ = Replace(Mid(cbn_, Len(t_) + 2), "-", ":")
    Rows(str_).EntireRow.Hidden = t_ = skr_
    Select Case cbn_
        Case pok_ & " 12-18"
            CommandButton1.Caption = pok_ & " 19-25"
        Case pok_ & " 19-25"
            CommandButton1.Caption = skr_ & " 12-25"
        Case skr_ & " 12-25"
            CommandButton1.Caption = pok_ & " 12-18"
    End Select
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 12.07.2017 в 12:31
heaven33rus Дата: Среда, 12.07.2017, 13:01 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
_Boroda_, Работает, но я не понял как... я думал по аналогии смогу вставить это дело в другое место.
можете пояснить?
Вот этот код, отвечает исключительно за надписи на кнопке?
[vba]
Код
Private Sub CommandButton1_Click()
    cbn_ = CommandButton1.Caption
    pok_ = "Показать"
    skr_ = "Скрыть"
    If InStr(cbn_, pok_) Then
        t_ = pok_
    Else
        t_ = skr_
    End If
    str_ = Replace(Mid(cbn_, Len(t_) + 2), "-", ":")
    Rows(str_).EntireRow.Hidden = t_ = skr_
    Select Case cbn_
        Case pok_ & " 12-18"
            CommandButton1.Caption = pok_ & " 19-25"
        Case pok_ & " 19-25"
            CommandButton1.Caption = skr_ & " 12-25"
        Case skr_ & " 12-25"
            CommandButton1.Caption = pok_ & " 12-18"
    End Select
End Sub
[/vba]
а этот непосредственно отображает и скрывает?
[vba]
Код
Sub Макрос1()
'
' Макрос1 Макрос
'

'
    Rows("32:36").EntireRow.Hidden = True
    Rows("31:37").Select
    Selection.EntireRow.Hidden = False
    Range("F44").Select
End Sub
[/vba]

как тут можно регулировать диапазон скрываемых и отображаемых ячеек?


Сообщение отредактировал heaven33rus - Среда, 12.07.2017, 13:05
 
Ответить
Сообщение_Boroda_, Работает, но я не понял как... я думал по аналогии смогу вставить это дело в другое место.
можете пояснить?
Вот этот код, отвечает исключительно за надписи на кнопке?
[vba]
Код
Private Sub CommandButton1_Click()
    cbn_ = CommandButton1.Caption
    pok_ = "Показать"
    skr_ = "Скрыть"
    If InStr(cbn_, pok_) Then
        t_ = pok_
    Else
        t_ = skr_
    End If
    str_ = Replace(Mid(cbn_, Len(t_) + 2), "-", ":")
    Rows(str_).EntireRow.Hidden = t_ = skr_
    Select Case cbn_
        Case pok_ & " 12-18"
            CommandButton1.Caption = pok_ & " 19-25"
        Case pok_ & " 19-25"
            CommandButton1.Caption = skr_ & " 12-25"
        Case skr_ & " 12-25"
            CommandButton1.Caption = pok_ & " 12-18"
    End Select
End Sub
[/vba]
а этот непосредственно отображает и скрывает?
[vba]
Код
Sub Макрос1()
'
' Макрос1 Макрос
'

'
    Rows("32:36").EntireRow.Hidden = True
    Rows("31:37").Select
    Selection.EntireRow.Hidden = False
    Range("F44").Select
End Sub
[/vba]

как тут можно регулировать диапазон скрываемых и отображаемых ячеек?

Автор - heaven33rus
Дата добавления - 12.07.2017 в 13:01
sboy Дата: Среда, 12.07.2017, 13:04 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 784
Репутация: 203 ±
Замечаний: 0% ±

Excel 2010
еще вариант
[vba]
Код
Sub Кнопка1_Щелчок()
f1 = Rows("12").Hidden
f2 = Rows("19").Hidden
f3 = Rows("25").Hidden
Select Case f1 + f2 + f3
Case -3
Rows("12:18").Hidden = False
Case -2
Rows("19:25").Hidden = False
Case 0
Rows("12:25").Hidden = True
End Select
End Sub
[/vba]
К сообщению приложен файл: 1567771.xlsm(16Kb)
 
Ответить
Сообщениееще вариант
[vba]
Код
Sub Кнопка1_Щелчок()
f1 = Rows("12").Hidden
f2 = Rows("19").Hidden
f3 = Rows("25").Hidden
Select Case f1 + f2 + f3
Case -3
Rows("12:18").Hidden = False
Case -2
Rows("19:25").Hidden = False
Case 0
Rows("12:25").Hidden = True
End Select
End Sub
[/vba]

Автор - sboy
Дата добавления - 12.07.2017 в 13:04
heaven33rus Дата: Среда, 12.07.2017, 13:20 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
sboy, Во, этот вариант мне понятен :-))

_Boroda_, Спасибо Вам, объясните если будет возможность, как работает предложенное Вами решение.
 
Ответить
Сообщениеsboy, Во, этот вариант мне понятен :-))

_Boroda_, Спасибо Вам, объясните если будет возможность, как работает предложенное Вами решение.

Автор - heaven33rus
Дата добавления - 12.07.2017 в 13:20
_Boroda_ Дата: Среда, 12.07.2017, 13:22 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10898
Репутация: 4495 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Нет, второй макрос я просто забыл стереть, не обращайте на него внимания
В двух словах - макрос считывает надпись на кнопке и делает то, что там написано.
Комментарии
[vba]
Код
Private Sub CommandButton1_Click()
    cbn_ = CommandButton1.Caption 'текст кнопки
    pok_ = "Показать"
    skr_ = "Скрыть"
    If InStr(cbn_, pok_) Then 'если в тексте есть слово Показать
        t_ = pok_ 't=показать
    Else 'если нет
        t_ = skr_ ' t=скрыть'
    End If
    str_ = Replace(Mid(cbn_, Len(t_) + 2), "-", ":") 'считываем из названия номера строк
    Rows(str_).EntireRow.Hidden = t_ = skr_ 't_ = skr_ дает ЛОЖЬ или ИСТИНА в зависимости от значения t
                    'скрываем или показываем строки
    Select Case cbn_ 'смотрим на текст кнопки
        Case pok_ & " 12-18" 'если он "Показать 12-18"
            CommandButton1.Caption = pok_ & " 19-25" 'то переобзываем кнопку "Показать 19-25"
        Case pok_ & " 19-25" 'если он "Показать 19-25"
            CommandButton1.Caption = skr_ & " 12-25" 'то переобзываем кнопку "Скрыть 12-25"
        Case skr_ & " 12-25" 'если он "Скрыть 12-25"
            CommandButton1.Caption = pok_ & " 12-18" 'то переобзываем кнопку "Показать 12-18"
    End Select
End Sub
[/vba]
К сообщению приложен файл: 5368695.xlsm(21Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНет, второй макрос я просто забыл стереть, не обращайте на него внимания
В двух словах - макрос считывает надпись на кнопке и делает то, что там написано.
Комментарии
[vba]
Код
Private Sub CommandButton1_Click()
    cbn_ = CommandButton1.Caption 'текст кнопки
    pok_ = "Показать"
    skr_ = "Скрыть"
    If InStr(cbn_, pok_) Then 'если в тексте есть слово Показать
        t_ = pok_ 't=показать
    Else 'если нет
        t_ = skr_ ' t=скрыть'
    End If
    str_ = Replace(Mid(cbn_, Len(t_) + 2), "-", ":") 'считываем из названия номера строк
    Rows(str_).EntireRow.Hidden = t_ = skr_ 't_ = skr_ дает ЛОЖЬ или ИСТИНА в зависимости от значения t
                    'скрываем или показываем строки
    Select Case cbn_ 'смотрим на текст кнопки
        Case pok_ & " 12-18" 'если он "Показать 12-18"
            CommandButton1.Caption = pok_ & " 19-25" 'то переобзываем кнопку "Показать 19-25"
        Case pok_ & " 19-25" 'если он "Показать 19-25"
            CommandButton1.Caption = skr_ & " 12-25" 'то переобзываем кнопку "Скрыть 12-25"
        Case skr_ & " 12-25" 'если он "Скрыть 12-25"
            CommandButton1.Caption = pok_ & " 12-18" 'то переобзываем кнопку "Показать 12-18"
    End Select
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 12.07.2017 в 13:22
heaven33rus Дата: Среда, 12.07.2017, 14:00 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
_Boroda_,
Обалдеть!
Спасибо еще раз, попробую это прикрутить в свой файл теперь :-))
 
Ответить
Сообщение_Boroda_,
Обалдеть!
Спасибо еще раз, попробую это прикрутить в свой файл теперь :-))

Автор - heaven33rus
Дата добавления - 12.07.2017 в 14:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Кнопка скрывающая и отображающая строки (3 позиции) (Макросы/Sub)
Страница 1 из 11
Поиск:

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