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

Вход

Регистрация

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

 

= Мир MS Excel/Скрыть строчки по щелчку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрыть строчки по щелчку (Макросы/Sub)
Скрыть строчки по щелчку
Oh_Nick Дата: Среда, 07.10.2020, 11:01 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Ребята, добрый день

Есть код

[vba]
Код
Sub Кнопка1_Щелчок()
    Rows("9:14").Hidden = Not Rows(9).Hidden
End Sub
[/vba]

А как прописать, чтобы скрывал например строчки 9,10,13?
 
Ответить
СообщениеРебята, добрый день

Есть код

[vba]
Код
Sub Кнопка1_Щелчок()
    Rows("9:14").Hidden = Not Rows(9).Hidden
End Sub
[/vba]

А как прописать, чтобы скрывал например строчки 9,10,13?

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 11:01
Oh_Nick Дата: Среда, 07.10.2020, 11:41 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Вот так вроде работает

[vba]
Код
Sub Кнопка1_Щелчок()
    Rows("9:9").Hidden = Not Rows(9).Hidden
    Rows("10:10").Hidden = Not Rows(10).Hidden
    Rows("13:13").Hidden = Not Rows(13).Hidden
End Sub
[/vba]
 
Ответить
СообщениеВот так вроде работает

[vba]
Код
Sub Кнопка1_Щелчок()
    Rows("9:9").Hidden = Not Rows(9).Hidden
    Rows("10:10").Hidden = Not Rows(10).Hidden
    Rows("13:13").Hidden = Not Rows(13).Hidden
End Sub
[/vba]

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 11:41
MikeVol Дата: Среда, 07.10.2020, 11:58 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 299
Репутация: 51 ±
Замечаний: 0% ±

Excel LTSC 2021 EN
Oh_Nick, День Добрый.

[vba]
Код
Sub HideRows()
   With Worksheets("Лист1")
      .Rows(9).Hidden = True
      .Rows(10).Hidden = True
      .Rows(13).Hidden = True
   End With
End Sub

Sub ShowRows()
   With Worksheets("Лист1")
      .Rows(9).Hidden = False
      .Rows(10).Hidden = False
      .Rows(13).Hidden = False
   End With
End Sub
[/vba]


Ученик.
 
Ответить
СообщениеOh_Nick, День Добрый.

[vba]
Код
Sub HideRows()
   With Worksheets("Лист1")
      .Rows(9).Hidden = True
      .Rows(10).Hidden = True
      .Rows(13).Hidden = True
   End With
End Sub

Sub ShowRows()
   With Worksheets("Лист1")
      .Rows(9).Hidden = False
      .Rows(10).Hidden = False
      .Rows(13).Hidden = False
   End With
End Sub
[/vba]

Автор - MikeVol
Дата добавления - 07.10.2020 в 11:58
Oh_Nick Дата: Среда, 07.10.2020, 12:04 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Излишнее цитирование удалено администрацией - это нарушение п.5j Правил форума

Как его к кнопке привязать?


Сообщение отредактировал китин - Среда, 07.10.2020, 13:40
 
Ответить
СообщениеИзлишнее цитирование удалено администрацией - это нарушение п.5j Правил форума

Как его к кнопке привязать?

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 12:04
Nic70y Дата: Среда, 07.10.2020, 12:46 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8709
Репутация: 2261 ±
Замечаний: 0% ±

Excel 2010
вариант
[vba]
Код
   Range("21:21,25:25,29:29").EntireRow.Hidden = Not Range("21:21,25:25,29:29").EntireRow.Hidden
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщениевариант
[vba]
Код
   Range("21:21,25:25,29:29").EntireRow.Hidden = Not Range("21:21,25:25,29:29").EntireRow.Hidden
[/vba]

Автор - Nic70y
Дата добавления - 07.10.2020 в 12:46
Oh_Nick Дата: Среда, 07.10.2020, 12:55 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
вариант


От души B)
 
Ответить
Сообщение
вариант


От души B)

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 12:55
Oh_Nick Дата: Среда, 07.10.2020, 14:22 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
А вот такое можно как то минимизировать?

[vba]Sub Кнопка1_Щелчок()
Код
Range("2:2,3:3,5:5,6:6,7:7,8:8,9:9,15:15,17:17,19:19,20:20,21:21,22:22,23:23,24:24,27:27,28:28,32:32,34:34,35:35,38:38,39:39,40:40,41:41,43:43,45:45,46:46,50:50,51:51,52:52,59:59,63:63,65:65,67:67,68:68,69:69,70:70,73:73,76:76,77:77,78:78,79:79,80:80,81:81,84:84,85:85,86:86,87:87,89:89,91:91").EntireRow.Hidden = Not Range("2:2,3:3,5:5,6:6,7:7,8:8,9:9,15:15,17:17,19:19,20:20,21:21,22:22,23:23,24:24,27:27,28:28,32:32,34:34,35:35,38:38,39:39,40:40,41:41,43:43,45:45,46:46,50:50,51:51,52:52,59:59,63:63,65:65,67:67,68:68,69:69,70:70,73:73,76:76,77:77,78:78,79:79,80:80,81:81,84:84,85:85,86:86,87:87,89:89,91:91").EntireRow.Hidden
End Sub
[/vba]


Сообщение отредактировал Oh_Nick - Среда, 07.10.2020, 14:22
 
Ответить
СообщениеА вот такое можно как то минимизировать?

[vba]Sub Кнопка1_Щелчок()
Код
Range("2:2,3:3,5:5,6:6,7:7,8:8,9:9,15:15,17:17,19:19,20:20,21:21,22:22,23:23,24:24,27:27,28:28,32:32,34:34,35:35,38:38,39:39,40:40,41:41,43:43,45:45,46:46,50:50,51:51,52:52,59:59,63:63,65:65,67:67,68:68,69:69,70:70,73:73,76:76,77:77,78:78,79:79,80:80,81:81,84:84,85:85,86:86,87:87,89:89,91:91").EntireRow.Hidden = Not Range("2:2,3:3,5:5,6:6,7:7,8:8,9:9,15:15,17:17,19:19,20:20,21:21,22:22,23:23,24:24,27:27,28:28,32:32,34:34,35:35,38:38,39:39,40:40,41:41,43:43,45:45,46:46,50:50,51:51,52:52,59:59,63:63,65:65,67:67,68:68,69:69,70:70,73:73,76:76,77:77,78:78,79:79,80:80,81:81,84:84,85:85,86:86,87:87,89:89,91:91").EntireRow.Hidden
End Sub
[/vba]

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 14:22
Oh_Nick Дата: Среда, 07.10.2020, 14:37 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
А то при нажатии кнопки выдает ошибку 400.
 
Ответить
СообщениеА то при нажатии кнопки выдает ошибку 400.

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 14:37
Nic70y Дата: Среда, 07.10.2020, 14:38 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 8709
Репутация: 2261 ±
Замечаний: 0% ±

Excel 2010
не, многовато...

а принцип такой:[vba]
Код
Range("4:8,14:14").EntireRow.Hidden
[/vba]


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Среда, 07.10.2020, 14:40
 
Ответить
Сообщениене, многовато...

а принцип такой:[vba]
Код
Range("4:8,14:14").EntireRow.Hidden
[/vba]

Автор - Nic70y
Дата добавления - 07.10.2020 в 14:38
Oh_Nick Дата: Среда, 07.10.2020, 14:49 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
да, получилось! спасибо!
 
Ответить
Сообщениеда, получилось! спасибо!

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 14:49
Michael_S Дата: Среда, 07.10.2020, 15:07 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Oh_Nick, вот здесь
Range("2:2,3:3,5:5,6:6,7:7,8:8,9:9,15:15,17:17,19:19,20:20,21:21,22:22,23:23,24:24,27:27,28:28,32:32,34:34,
35:35,38:38,39:39,40:40,41:41,43:43,45:45,46:46,50:50,51:51,52:52,59:59,63:63,65:65,67:67,68:68,69:69,70:70,
73:73,76:76,77:77,78:78,79:79,80:80,81:81,84:84,85:85,86:86,87:87,89:89,91:91"
)
между "" должно быть не более 255 знаков, а у вас 285...
Сегодня получилось, завтра может не получиться - нужно делать проверку на длину строки, и, при необходимости, переносить часть в другой Range/


Сообщение отредактировал Michael_S - Среда, 07.10.2020, 15:20
 
Ответить
СообщениеOh_Nick, вот здесь
Range("2:2,3:3,5:5,6:6,7:7,8:8,9:9,15:15,17:17,19:19,20:20,21:21,22:22,23:23,24:24,27:27,28:28,32:32,34:34,
35:35,38:38,39:39,40:40,41:41,43:43,45:45,46:46,50:50,51:51,52:52,59:59,63:63,65:65,67:67,68:68,69:69,70:70,
73:73,76:76,77:77,78:78,79:79,80:80,81:81,84:84,85:85,86:86,87:87,89:89,91:91"
)
между "" должно быть не более 255 знаков, а у вас 285...
Сегодня получилось, завтра может не получиться - нужно делать проверку на длину строки, и, при необходимости, переносить часть в другой Range/

Автор - Michael_S
Дата добавления - 07.10.2020 в 15:07
Oh_Nick Дата: Среда, 07.10.2020, 15:10 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Nic70y помог с длинной строки.
 
Ответить
СообщениеNic70y помог с длинной строки.

Автор - Oh_Nick
Дата добавления - 07.10.2020 в 15:10
Oh_Nick Дата: Четверг, 08.10.2020, 09:13 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Ребята, а как сделать, чтобы при нажатии кнопки он скрывал и открывал строчки?

У меня получается , что я нажимаю их поочереди, и в конечном итоге вся таблица скрывается.

[vba]
Код

Sub Кнопка1_Щелчок()
Range("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").EntireRow.Hidden = Not Range("1:2,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").EntireRow.Hidden
End Sub
Sub Кнопка2_Щелчок()
Range("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").EntireRow.Hidden = Not Range("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").EntireRow.Hidden
End Sub
Sub Кнопка3_Щелчок()
Range("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").EntireRow.Hidden = Not Range("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").EntireRow.Hidden
End Sub
[/vba]
 
Ответить
СообщениеРебята, а как сделать, чтобы при нажатии кнопки он скрывал и открывал строчки?

У меня получается , что я нажимаю их поочереди, и в конечном итоге вся таблица скрывается.

[vba]
Код

Sub Кнопка1_Щелчок()
Range("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").EntireRow.Hidden = Not Range("1:2,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").EntireRow.Hidden
End Sub
Sub Кнопка2_Щелчок()
Range("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").EntireRow.Hidden = Not Range("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").EntireRow.Hidden
End Sub
Sub Кнопка3_Щелчок()
Range("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").EntireRow.Hidden = Not Range("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").EntireRow.Hidden
End Sub
[/vba]

Автор - Oh_Nick
Дата добавления - 08.10.2020 в 09:13
Oh_Nick Дата: Четверг, 08.10.2020, 09:28 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
Во вложении файл пример.
К сообщению приложен файл: 4221066.xlsm (163.8 Kb)
 
Ответить
СообщениеВо вложении файл пример.

Автор - Oh_Nick
Дата добавления - 08.10.2020 в 09:28
Oh_Nick Дата: Четверг, 08.10.2020, 10:36 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
[vba]
Код
Sub Macro3()
'
' Macro3 Macro
'

'
    Rows("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").Select
    Selection.EntireRow.Hidden = False
    Rows("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").Select
    Selection.EntireRow.Hidden = True

End Sub
Sub Macro4()
'
' Macro4 Macro
'

'

    Rows("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").Select
    Selection.EntireRow.Hidden = False
    Rows("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").Select
    Selection.EntireRow.Hidden = True

End Sub
Sub Macro5()
'
' Macro5 Macro

'

    Rows("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").Select
    Selection.EntireRow.Hidden = False
    Rows("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").Select
    Selection.EntireRow.Hidden = True

End Sub
[/vba]

Попробовал так, но дает debug
 
Ответить
Сообщение[vba]
Код
Sub Macro3()
'
' Macro3 Macro
'

'
    Rows("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").Select
    Selection.EntireRow.Hidden = False
    Rows("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").Select
    Selection.EntireRow.Hidden = True

End Sub
Sub Macro4()
'
' Macro4 Macro
'

'

    Rows("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").Select
    Selection.EntireRow.Hidden = False
    Rows("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").Select
    Selection.EntireRow.Hidden = True

End Sub
Sub Macro5()
'
' Macro5 Macro

'

    Rows("4:23,25:26,29:31,33:34,36:39,42:42,44:49,51:76,79:85,88:88,90:90").Select
    Selection.EntireRow.Hidden = False
    Rows("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").Select
    Selection.EntireRow.Hidden = True

End Sub
[/vba]

Попробовал так, но дает debug

Автор - Oh_Nick
Дата добавления - 08.10.2020 в 10:36
Nic70y Дата: Четверг, 08.10.2020, 11:29 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 8709
Репутация: 2261 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
   Range("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").EntireRow.Hidden = False
    Range("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").EntireRow.Hidden = True
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
   Range("2:2,4:5,10:14,16:16,18:18,24:37,40:50,53:58,60:62,64:66,72:75,77:78,82:83,86:91").EntireRow.Hidden = False
    Range("2:3,5:9,17:17,19:19,21:24,27:28,32:32,34:35,38:41,43:43,46:46,50:52,59:59,63:63,65:65,67:70,75:81,84:87,91:91").EntireRow.Hidden = True
[/vba]

Автор - Nic70y
Дата добавления - 08.10.2020 в 11:29
Oh_Nick Дата: Четверг, 08.10.2020, 11:51 | Сообщение № 17
Группа: Проверенные
Ранг: Обитатель
Сообщений: 445
Репутация: 8 ±
Замечаний: 20% ±

Excel 2019
получилось, спасибо!
 
Ответить
Сообщениеполучилось, спасибо!

Автор - Oh_Nick
Дата добавления - 08.10.2020 в 11:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрыть строчки по щелчку (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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