
Есть ли способ сгруппировать рабочие листы в Excel 2010 так, чтобы не все вкладки были видны сразу? В общем, чтобы их можно было разворачивать и сворачивать по мере необходимости.
У меня есть несколько книг Excel с довольно большим количеством вкладок. И прокручивать, чтобы найти нужный лист, довольно утомительно.
решение1
Вот, я кое-что набросал, модифицируйте как хотите. Можно было бы и короче, но вы поняли.
Вставьте выпадающий список (на главном листе, у меня он называется "control"), назначьте ему список, а затем поместите этот макрос в Visual Basic. Группируйте так, как вам нравится, убедитесь, что один лист всегда виден, и оставьте случай, чтобы показать все.
Sub DropDown1_Change()
With ActiveSheet.Shapes(Application.Caller)
Select Case .ControlFormat.ListIndex
Case 1
Sheets("Control").Visible = xlSheetVisible
Sheet2.Visible = xlSheetVisible
Sheet3.Visible = xlSheetVisible
Sheet4.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
Sheet9.Visible = xlSheetHidden
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Case 2
Sheets("Control").Visible = xlSheetVisible
Sheet2.Visible = xlSheetHidden
Sheet3.Visible = xlSheetHidden
Sheet4.Visible = xlSheetVisible
Sheet5.Visible = xlSheetVisible
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
Sheet9.Visible = xlSheetHidden
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Case 3
Sheets("Control").Visible = xlSheetVisible
Sheet2.Visible = xlSheetHidden
Sheet3.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Sheet6.Visible = xlSheetVisible
Sheet7.Visible = xlSheetVisible
Sheet8.Visible = xlSheetHidden
Sheet9.Visible = xlSheetHidden
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Case 4
Sheets("Control").Visible = xlSheetVisible
Sheet2.Visible = xlSheetHidden
Sheet3.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetVisible
Sheet9.Visible = xlSheetVisible
Sheet10.Visible = xlSheetHidden
Sheet11.Visible = xlSheetHidden
Case 5
Sheets("Control").Visible = xlSheetVisible
Sheet2.Visible = xlSheetHidden
Sheet3.Visible = xlSheetHidden
Sheet4.Visible = xlSheetHidden
Sheet5.Visible = xlSheetHidden
Sheet6.Visible = xlSheetHidden
Sheet7.Visible = xlSheetHidden
Sheet8.Visible = xlSheetHidden
Sheet9.Visible = xlSheetHidden
Sheet10.Visible = xlSheetVisible
Sheet11.Visible = xlSheetVisible
Case 6
For Each ws In Worksheets
ws.Visible = xlSheetVisible
Next
End Select
End With
End Sub