Очень новичок в этом, так что извиняюсь за мое невежество. Надеюсь, это объяснено ясно.
Я собрал воедино некоторый код, который в настоящее время скрывает или показывает диапазон ячеек, на основе раскрывающегося списка недель с 1 по 5 (т.е. если выбрана неделя 1, недели 2 -5 скрыты и показываются только ячейки за неделю 1). В течение каждой недели у меня появляется последующее раскрывающееся меню с вариантами отображения строк для данной недели из 1 - 30 строк.
Поэтому выберите номер недели, чтобы отобразить соответствующие строки, затем выберите номер, чтобы выбрать количество строк, отображаемых для данной недели.
Проблема, с которой я сталкиваюсь, заключается в том, что при выборе данной недели все 30 строк для этой недели отображаются снова, даже если ранее пользователь выбрал показ только строк 1-15.
Я понимаю, что это потому, что когда выбрана неделя, проверяется только оператор и последующие не запускайте снова, но я не могу понять, как переставить, чтобы обеспечить сохранение последующего выбора.
Мне бы хотелось, чтобы каждую неделю показывалось только количество строк, определенных пользователем ранее, чтобы вы могли переключаться между неделями и видеть только то, что было выбрано ранее.
Т.е. если пользователь выбирает строки 1-15 для недели 1, переключается на неделю 2, а затем обратно на неделю 1, я хочу, чтобы строки 1-15 отображались только на неделе 1, а не все 30 строк.
Пример для «Недели 1» ниже, сабвуфер продолжается в течение 2-5 недель с аналогичным кодом.
'
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("SELECT_WEEK_FEB").Address Then
If Target.Value = "Week 1" Then
Range("WEEK_1_FEB").EntireRow.Hidden = False
Range("WEEK_2_FEB, WEEK_3_FEB, WEEK_4_FEB, WEEK_5_FEB").EntireRow.Hidden = True
ElseIf Target.Value = "Week 2" Then
Range("WEEK_2_FEB").EntireRow.Hidden = False
Range("WEEK_1_FEB, WEEK_3_FEB, WEEK_4_FEB, WEEK_5_FEB").EntireRow.Hidden = True
ElseIf Target.Value = "Week 3" Then
Range("WEEK_3_FEB").EntireRow.Hidden = False
Range("WEEK_1_FEB, WEEK_2_FEB, WEEK_4_FEB, WEEK_5_FEB").EntireRow.Hidden = True
ElseIf Target.Value = "Week 4" Then
Range("WEEK_4_FEB").EntireRow.Hidden = False
Range("WEEK_1_FEB, WEEK_2_FEB, WEEK_3_FEB, WEEK_5_FEB").EntireRow.Hidden = True
ElseIf Target.Value = "Week 5" Then
Range("WEEK_5_FEB").EntireRow.Hidden = False
Range("WEEK_1_FEB, WEEK_2_FEB, WEEK_3_FEB, WEEK_4_FEB").EntireRow.Hidden = True
End If
End If
'------------------------------------------------------------------------------------------------------
' WEEK 1
If Target.Address = Range("Week_1_Items_Feb").Address Then
If Target.Value = "1-15" Then
Range("Feb_Week_1_1_to_15").EntireRow.Hidden = False
Range("Feb_Week_1_16_to_20, Feb_Week_1_21_to_25,Feb_Week_1_26_to_30").EntireRow.Hidden = True
ElseIf Target.Value = "16-20" Then
Range("Feb_Week_1_1_to_15, Feb_Week_1_16_to_20").EntireRow.Hidden = False
Range("Feb_Week_1_21_to_25, Feb_Week_1_26_to_30").EntireRow.Hidden = True
ElseIf Target.Value = "21-25" Then
Range("Feb_Week_1_1_to_15, Feb_Week_1_16_to_20, Feb_Week_1_21_to_25").EntireRow.Hidden = False
Range("Feb_Week_1_26_to_30").EntireRow.Hidden = True
ElseIf Target.Value = "26-30" Then
Range("Feb_Week_1_1_to_15, Feb_Week_1_16_to_20, Feb_Week_1_21_to_25, Feb_Week_1_26_to_30").EntireRow.Hidden = False
End If
End If'