У меня есть рабочая тетрадь, в которой есть кнопки для скрытия и скрытия строк.Таким образом, когда строки скрыты, одна кнопка также скрывается, а затем наоборот.Тогда у меня есть диапазон, который должен быть скрыт и скрыт при нажатии на кнопки.Есть ли способ сделать это как-то динамичным?
Проблема в том, что у меня около 40 кнопок, и как только я делаю некоторые изменения в калькуляторе и добавляю новую строку в свой лист, я должен переписать все диапазоны.Диапазоны расположены в последовательности, поэтому они выглядят так:
Range("1254:1275").EntireRow.Hidden = True
Range("1254:1275").EntireRow.Hidden = False
next one
Range("1276:1298").EntireRow.Hidden = True
Range("1276:1298").EntireRow.Hidden = False
next one
Range("1299:1350").EntireRow.Hidden = True
Range("1299:1350").EntireRow.Hidden = False
etc.
Возможно ли как-то иметь что-то вроде +22
вместо 1254:1275
?Затем +23
вместо 1276:1298
и т. Д .?
Для 40 кнопок у меня есть 80 сабов (1 для скрытия и 1 для показа).Каждая операция в собственной подпрограмме выглядит так:
СКРЫТЬ КНОПКУ:
Sub WorkshopWork_HideMe()
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Price calculation").Unprotect Password:="123"
Range("1254:1275").EntireRow.Hidden = True
ActiveSheet.Shapes("Rectangle: Rounded Corners 111").Visible = True
ActiveSheet.Shapes("Rectangle: Rounded Corners 233").Visible = False
ThisWorkbook.Sheets("Price calculation").Protect Password:="123"
Application.ScreenUpdating = True
End Sub
СКРЫТЬ КНОПКУ:
Sub WorkshopwnWork_UnhideMe()
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Price calculation").Unprotect Password:="123"
Range("1254:1275").EntireRow.Hidden = False
ActiveSheet.Shapes("Rectangle: Rounded Corners 111").Visible = False
ActiveSheet.Shapes("Rectangle: Rounded Corners 233").Visible = True
ActiveWindow.ScrollRow = 1254
ThisWorkbook.Sheets("Price calculation").Protect Password:="123"
Application.ScreenUpdating = True
End Sub