Здравствуйте. Ребята помогите разобраться в одном нюансе. Решил автоматизировать раскрывающиеся списки, то есть при выборе данных в первом списке идет активизация и раскрытие второго списка где также при выборе данных стрелками или активация уже введенного путем команды Enter идет переход на следующий список и так далее... Если свернуть ленту интерфейса, то возникают моменты, когда при переходе на список где уже введены данные, активное поле списка может отображается на другой позиции и не совпадать с изначальным значением, что в итоге приходится подводить стрелкой. Можно ли это как-то подкорректировать? Чтобы уловить этот нюанс, необходимо в разной последовательности протестировать пример при раскрытом и скрытом интерфейсе.
Здравствуйте. Ребята помогите разобраться в одном нюансе. Решил автоматизировать раскрывающиеся списки, то есть при выборе данных в первом списке идет активизация и раскрытие второго списка где также при выборе данных стрелками или активация уже введенного путем команды Enter идет переход на следующий список и так далее... Если свернуть ленту интерфейса, то возникают моменты, когда при переходе на список где уже введены данные, активное поле списка может отображается на другой позиции и не совпадать с изначальным значением, что в итоге приходится подводить стрелкой. Можно ли это как-то подкорректировать? Чтобы уловить этот нюанс, необходимо в разной последовательности протестировать пример при раскрытом и скрытом интерфейсе.Сергей13
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, Range("A1:D1")) Is Nothing Then Exit Sub 'Переход на соседнею ячейку по условию Select Case Target.Address(0, 0) Case "A1", "B1", "C1" Target.Next.Select Case "D1" Range("A1").Select End Select Application.SendKeys "%{DOWN}" End Sub
[/vba] Worksheet_SelectionChange уберите
Сергей13, привет а если так [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Intersect(Target, Range("A1:D1")) Is Nothing Then Exit Sub 'Переход на соседнею ячейку по условию Select Case Target.Address(0, 0) Case "A1", "B1", "C1" Target.Next.Select Case "D1" Range("A1").Select End Select Application.SendKeys "%{DOWN}" End Sub
nilem, Здравствуйте. Вроде бы сбоя нет, но полноценно протестировать в рабочем варианте не удалось, потому как код прописанный под тестовый вариант не могу вписать в рабочий вариант. В рабочем варианте диапазон задействованных ячеек разбросан, а также есть ячейки без списков (имеющие розовую заливку), которые служат только для ввода данных с клавиатуры с последующем переходом, также при вводе или выборе данных снимается заливка, как показатель того что бланк заполнен полностью. Если несложно, то посмотрите полноценный вариант, что там можно сделать или если возможно изменить тестовый код, предложенный Вами, под отдельно взятую ячейку списка, а я попробую вписать в остальные ячейки.
nilem, Здравствуйте. Вроде бы сбоя нет, но полноценно протестировать в рабочем варианте не удалось, потому как код прописанный под тестовый вариант не могу вписать в рабочий вариант. В рабочем варианте диапазон задействованных ячеек разбросан, а также есть ячейки без списков (имеющие розовую заливку), которые служат только для ввода данных с клавиатуры с последующем переходом, также при вводе или выборе данных снимается заливка, как показатель того что бланк заполнен полностью. Если несложно, то посмотрите полноценный вариант, что там можно сделать или если возможно изменить тестовый код, предложенный Вами, под отдельно взятую ячейку списка, а я попробую вписать в остальные ячейки.Сергей13
nilem, приветствую! Так как лист скрыт то установил код защиты листа в коде открытия листа, а не в открытии книги, думаю что это не критично? Уловил такой момент, некоторые списки имеют одинаковый шаблон для составления нужного наименования, например «а/в/c/d», где например меняется только «d», но с учетом большого количества шаблонов с одинаковыми первоначальными значениями при раскрытии списка иногда активирует не изначально веденные данные а похожие по первоначальным знакам, то есть проявляется та причина которая описана выше. Думаю что дело тут в похожести данных списка, которая проявляется почему-то именно при скрытом интерфейсе. Ну да ладно как есть так есть. Благодарю за помощь!
nilem, приветствую! Так как лист скрыт то установил код защиты листа в коде открытия листа, а не в открытии книги, думаю что это не критично? Уловил такой момент, некоторые списки имеют одинаковый шаблон для составления нужного наименования, например «а/в/c/d», где например меняется только «d», но с учетом большого количества шаблонов с одинаковыми первоначальными значениями при раскрытии списка иногда активирует не изначально веденные данные а похожие по первоначальным знакам, то есть проявляется та причина которая описана выше. Думаю что дело тут в похожести данных списка, которая проявляется почему-то именно при скрытом интерфейсе. Ну да ладно как есть так есть. Благодарю за помощь!Сергей13
Сообщение отредактировал Сергей13 - Среда, 28.11.2018, 20:26