Добрый день всем!!! Тема работы отобразить или скрыть строки согласно условия выбора количества образцов - имеется "Forms.OptionButton" в количестве 5 шт. Оператор выбирает количество образцов в серии, в таблице имеется при этом 6 серий по 6-ть образцов в каждой. После выбора нужного числа образцов в серии в данной таблице должно в каждой серии уменьшиться(скрыть лишние если указали три то значится в серии три образца; указали 4 то значится 4 образца в серии и т. д.)на это количество. Ранее уже был создан макрос Бородой - но данный код был для одной серии образцов и работает на ура
[vba]
Код
Private Sub CommandButton1_Click() 'макрос для выбора количества образцов
If OptionButton1.Value = True Then Range("S1") = 1 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton2.Value = True Then Range("S1") = 2 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton3.Value = True Then Range("S1") = 3 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton4.Value = True Then Range("S1") = 4 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton5.Value = True Then Range("S1") = 5 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If End Sub
[/vba]
В связи с изменениями поставленной задачи (и нормативной документации) требуется дополнить серии образцов в протоколе - но при этом соответственно условие работы данного макроса расширить диапазон условия чтоб в каждой отображаемой серии учитывалось количество образцов выбранных оператором. [img][/img]
И вторая задача - если в ячейке Е24 оператор указал объем бетона то должно сработать условие: 1. если менее 12 кубов - три серии но при этом должно учитываться количество образцов в серии указанных оператором в "Forms.OptionButton" [img][/img] 2. если указанно от 12 до 24 кубов то количество серий должно быть 4-е + условие количества образцов в серии 3. если указанно более 24 куба то количество серий должно быть 6-ть + условие количества образцов в серии - если в ячейке Е24 оператор не указал объем бетона то должно сработать условие: - две серии образцов + условие количества образцов в серии
Работу оцениваю в 1500 рублей, файл прилагаю
Добрый день всем!!! Тема работы отобразить или скрыть строки согласно условия выбора количества образцов - имеется "Forms.OptionButton" в количестве 5 шт. Оператор выбирает количество образцов в серии, в таблице имеется при этом 6 серий по 6-ть образцов в каждой. После выбора нужного числа образцов в серии в данной таблице должно в каждой серии уменьшиться(скрыть лишние если указали три то значится в серии три образца; указали 4 то значится 4 образца в серии и т. д.)на это количество. Ранее уже был создан макрос Бородой - но данный код был для одной серии образцов и работает на ура
[vba]
Код
Private Sub CommandButton1_Click() 'макрос для выбора количества образцов
If OptionButton1.Value = True Then Range("S1") = 1 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton2.Value = True Then Range("S1") = 2 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton3.Value = True Then Range("S1") = 3 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton4.Value = True Then Range("S1") = 4 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If
If OptionButton5.Value = True Then Range("S1") = 5 End If Application.ScreenUpdating = 0 Rows("31:36").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(32 + Range("S1") & ":36").EntireRow.Hidden = True End If End Sub
[/vba]
В связи с изменениями поставленной задачи (и нормативной документации) требуется дополнить серии образцов в протоколе - но при этом соответственно условие работы данного макроса расширить диапазон условия чтоб в каждой отображаемой серии учитывалось количество образцов выбранных оператором. [img][/img]
И вторая задача - если в ячейке Е24 оператор указал объем бетона то должно сработать условие: 1. если менее 12 кубов - три серии но при этом должно учитываться количество образцов в серии указанных оператором в "Forms.OptionButton" [img][/img] 2. если указанно от 12 до 24 кубов то количество серий должно быть 4-е + условие количества образцов в серии 3. если указанно более 24 куба то количество серий должно быть 6-ть + условие количества образцов в серии - если в ячейке Е24 оператор не указал объем бетона то должно сработать условие: - две серии образцов + условие количества образцов в серии
Думал поступить аналогичном образом и дополнить макрос от Бороды диапазонами - но увы ((((( не сработал
[vba]
Код
Private Sub CommandButton1_Click() 'макрос для выбора количества образцов
If OptionButton1.Value = True Then Range("S1") = 1 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton2.Value = True Then Range("S1") = 2 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton3.Value = True Then Range("S1") = 3 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton4.Value = True Then Range("S1") = 4 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton5.Value = True Then Range("S1") = 5 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
End Sub
[/vba]
А если Rows исправить на Range [vba]
Код
Private Sub CommandButton1_Click() 'макрос для выбора количества образцов
If OptionButton1.Value = True Then Range("S1") = 1 End If Application.ScreenUpdating = 0 Range("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Range("34,40,46,52,58,64" + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
Думал поступить аналогичном образом и дополнить макрос от Бороды диапазонами - но увы ((((( не сработал
[vba]
Код
Private Sub CommandButton1_Click() 'макрос для выбора количества образцов
If OptionButton1.Value = True Then Range("S1") = 1 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton2.Value = True Then Range("S1") = 2 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton3.Value = True Then Range("S1") = 3 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton4.Value = True Then Range("S1") = 4 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
If OptionButton5.Value = True Then Range("S1") = 5 End If Application.ScreenUpdating = 0 Rows("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Rows(("34,40,46,52,58,64") + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
End Sub
[/vba]
А если Rows исправить на Range [vba]
Код
Private Sub CommandButton1_Click() 'макрос для выбора количества образцов
If OptionButton1.Value = True Then Range("S1") = 1 End If Application.ScreenUpdating = 0 Range("33:38,39:44,45:50,51:56,57:62,63:68").EntireRow.Hidden = False If Range("S1") < 5 Then Range("34,40,46,52,58,64" + Range("S1") & ":38,:44,:50,:56,:62,:68").EntireRow.Hidden = True End If
Народ!!! Решение по первому вопросу нашлось!!! Осталось решить задачу по второму вопросу: И вторая задача - если в ячейке Е24 оператор указал объем бетона то должно сработать условие: 1. если менее 12 кубов - три серии но при этом должно учитываться количество образцов в серии указанных оператором в "Forms.OptionButton" [img][/img] 2. если указанно от 12 до 24 кубов то количество серий должно быть 4-е + условие количества образцов в серии 3. если указанно более 24 куба то количество серий должно быть 6-ть + условие количества образцов в серии - если в ячейке Е24 оператор не указал объем бетона то должно сработать условие: - две серии образцов + условие количества образцов в серии
Работу оцениваю в 1000 рублей, файл прилагаю
Народ!!! Решение по первому вопросу нашлось!!! Осталось решить задачу по второму вопросу: И вторая задача - если в ячейке Е24 оператор указал объем бетона то должно сработать условие: 1. если менее 12 кубов - три серии но при этом должно учитываться количество образцов в серии указанных оператором в "Forms.OptionButton" [img][/img] 2. если указанно от 12 до 24 кубов то количество серий должно быть 4-е + условие количества образцов в серии 3. если указанно более 24 куба то количество серий должно быть 6-ть + условие количества образцов в серии - если в ячейке Е24 оператор не указал объем бетона то должно сработать условие: - две серии образцов + условие количества образцов в серии