Здравствуйте. Подскажите пожалуйста макрос на кнопку, которая при нажатии будет делать следующее: 1 нажатие отображает скрытые строки с 12-18 2 нажатие отображает скрытые строки с 19-25 3 нажатие скрывает строки с 12-25.
И так по кругу...
Здравствуйте. Подскажите пожалуйста макрос на кнопку, которая при нажатии будет делать следующее: 1 нажатие отображает скрытые строки с 12-18 2 нажатие отображает скрытые строки с 19-25 3 нажатие скрывает строки с 12-25.
_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]
как тут можно регулировать диапазон скрываемых и отображаемых ячеек?
_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
Сообщение отредактировал heaven33rus - Среда, 12.07.2017, 13:05
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]
еще вариант [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]
Код
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]
Нет, второй макрос я просто забыл стереть, не обращайте на него внимания В двух словах - макрос считывает надпись на кнопке и делает то, что там написано. Комментарии [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