Всем добрый вечер! Постаралась по максимуму рассмотреть все темы на форуме,но,к сожалению, так и не нашла того, что мне необходимо. Вопрос заключается в следующем: я создала форму в excel, которая представляет собой последовательные ячейки с выпадающими списками. Другими словами, я создала анкету, в конце которой при выборе клиентом всех необходимых ему условий будет выходить итоговая сумма договора страхования.
Две проблемы: я создала кнопку "новый расчет", которой был присвоен макрос очистки(не очистки ячеек от формул, а восстановление первоначальных,так сказать, значений). Моя анкета также содержит элементы управления excel, а именно, флажок. Дело в том, что при нажатии кнопки, макрос позволяет очистить анкету для нового расчета, но я не смогла прописать в макросе код, кторый бы снимал галочки с флажков при нажатии кнопки "Новый расчет"
Проблема номер 2. У меня есть 5 скрытых срок в анкете. Есть ячейка с выпадающим списком:он,в свою очередь,содержит 5 вариантов(текстовых). При выборе 5-го варианта, необходимо,чтобы те самые скрытые строки появлялись и ,в случае,если клиент захочет сменить 5й вариант на 4й, они(строки) тут же исчезали. Я уже перепробовала много кодов, но не могу дописать макрос. Ситуация ухудшается еще и тем, что этот макрос должен срабатывать, как только клиент выберет в выпадающем списке вариант номер 5, а не при нажатии кнопки или еще какого-либо элемента. Отмечу,что зависимый выпадающий список сделан с помощью функции "проверка данных", и каждый элемент привязан к определенной ячейке.
согласна, с примером было бы получше. свой файл не могу приложить,поскольку эти действия могут быть расценены руководством на работе, как несоблюдение правил конфиденциальности. Постралась по-максимуму передать суть проблемы в этом файле. По поводу флажков, не знаю,как Вам продемонстрировать их: они просто есть, и нужно дописать в макрос код, который бы помог мне "снять" галочку при нажатии на кнопку,содержащую макрос очистки.
Вот для скрытия строк (вставите его в код соответствующего листа)
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 2 And Target.Row <> 2 Then Exit Sub
Application.EnableEvents = False
Rows("4:5").EntireRow.Hidden = Not (Target.Value = "Смешанная перевозка")
Application.EnableEvents = True
End Sub
P.S. для снятия флажка достаточно присвоить значение ЛОЖЬ ячейке, с которой он связан:
Код
Sub Снять_флажок()
With [A1]
.Value = False
End With
End Sub
Благодарю Вас! Но не вышло с макросом для выпадающего списка и раскрывающихся строк. ( макрос скрыл ячейки..хотя изначально будет предполагаться, что при выборе авто,авиа,жд.море эти(4,5) строчки будут скрыты,а вот при выборе смешанная перевозка - раскрываться. А Ваш код лишь скрыл строки 4,5 при выборе одного из пяти вариантов(
Спасибо огромное за совет относительно элемента формы управления excel. По истине, замечательная идея! у меня просто уже голова кругом! Я Вам очень благодарна!! а вот с ячейками я все еще сижу и перебираю варианты(