Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/При раскрытии списка активное поле не совпадает с данными. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При раскрытии списка активное поле не совпадает с данными. (Макросы/Sub)
При раскрытии списка активное поле не совпадает с данными.
Сергей13 Дата: Понедельник, 26.11.2018, 22:02 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте.
Ребята помогите разобраться в одном нюансе.
Решил автоматизировать раскрывающиеся списки, то есть при выборе данных в первом списке идет активизация и раскрытие второго списка где также при выборе данных стрелками или активация уже введенного путем команды Enter идет переход на следующий список и так далее... Если свернуть ленту интерфейса, то возникают моменты, когда при переходе на список где уже введены данные, активное поле списка может отображается на другой позиции и не совпадать с изначальным значением, что в итоге приходится подводить стрелкой.
Можно ли это как-то подкорректировать?
Чтобы уловить этот нюанс, необходимо в разной последовательности протестировать пример при раскрытом и скрытом интерфейсе.
К сообщению приложен файл: 6782333.xlsm (15.0 Kb)


Сообщение отредактировал Сергей13 - Понедельник, 26.11.2018, 23:17
 
Ответить
СообщениеЗдравствуйте.
Ребята помогите разобраться в одном нюансе.
Решил автоматизировать раскрывающиеся списки, то есть при выборе данных в первом списке идет активизация и раскрытие второго списка где также при выборе данных стрелками или активация уже введенного путем команды Enter идет переход на следующий список и так далее... Если свернуть ленту интерфейса, то возникают моменты, когда при переходе на список где уже введены данные, активное поле списка может отображается на другой позиции и не совпадать с изначальным значением, что в итоге приходится подводить стрелкой.
Можно ли это как-то подкорректировать?
Чтобы уловить этот нюанс, необходимо в разной последовательности протестировать пример при раскрытом и скрытом интерфейсе.

Автор - Сергей13
Дата добавления - 26.11.2018 в 22:02
Сергей13 Дата: Понедельник, 26.11.2018, 23:09 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Для полного понимания, в чем суть сказанного выше, небольшая анимация по данной проблеме.
https://yadi.sk/i/_d0NOQu2fBeFZA


Сообщение отредактировал Сергей13 - Понедельник, 26.11.2018, 23:18
 
Ответить
СообщениеДля полного понимания, в чем суть сказанного выше, небольшая анимация по данной проблеме.
https://yadi.sk/i/_d0NOQu2fBeFZA

Автор - Сергей13
Дата добавления - 26.11.2018 в 23:09
nilem Дата: Вторник, 27.11.2018, 08:17 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Сергей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
[/vba]
Worksheet_SelectionChange уберите


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеСергей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
[/vba]
Worksheet_SelectionChange уберите

Автор - nilem
Дата добавления - 27.11.2018 в 08:17
Сергей13 Дата: Вторник, 27.11.2018, 21:28 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
nilem, Здравствуйте.
Вроде бы сбоя нет, но полноценно протестировать в рабочем варианте не удалось, потому как код прописанный под тестовый вариант не могу вписать в рабочий вариант. В рабочем варианте диапазон задействованных ячеек разбросан, а также есть ячейки без списков (имеющие розовую заливку), которые служат только для ввода данных с клавиатуры с последующем переходом, также при вводе или выборе данных снимается заливка, как показатель того что бланк заполнен полностью.
Если несложно, то посмотрите полноценный вариант, что там можно сделать или если возможно изменить тестовый код, предложенный Вами, под отдельно взятую ячейку списка, а я попробую вписать в остальные ячейки.
К сообщению приложен файл: test.xlsm (54.5 Kb)


Сообщение отредактировал Сергей13 - Среда, 28.11.2018, 00:56
 
Ответить
Сообщениеnilem, Здравствуйте.
Вроде бы сбоя нет, но полноценно протестировать в рабочем варианте не удалось, потому как код прописанный под тестовый вариант не могу вписать в рабочий вариант. В рабочем варианте диапазон задействованных ячеек разбросан, а также есть ячейки без списков (имеющие розовую заливку), которые служат только для ввода данных с клавиатуры с последующем переходом, также при вводе или выборе данных снимается заливка, как показатель того что бланк заполнен полностью.
Если несложно, то посмотрите полноценный вариант, что там можно сделать или если возможно изменить тестовый код, предложенный Вами, под отдельно взятую ячейку списка, а я попробую вписать в остальные ячейки.

Автор - Сергей13
Дата добавления - 27.11.2018 в 21:28
nilem Дата: Среда, 28.11.2018, 15:49 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Ну вот, попробуйте. Защиту на лист ставим при открытии книги.
К сообщению приложен файл: 7936037.xlsm (54.6 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеНу вот, попробуйте. Защиту на лист ставим при открытии книги.

Автор - nilem
Дата добавления - 28.11.2018 в 15:49
Сергей13 Дата: Среда, 28.11.2018, 20:22 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
nilem, приветствую! Так как лист скрыт то установил код защиты листа в коде открытия листа, а не в открытии книги, думаю что это не критично?
Уловил такой момент, некоторые списки имеют одинаковый шаблон для составления нужного наименования, например «а/в/c/d», где например меняется только «d», но с учетом большого количества шаблонов с одинаковыми первоначальными значениями при раскрытии списка иногда активирует не изначально веденные данные а похожие по первоначальным знакам, то есть проявляется та причина которая описана выше.
Думаю что дело тут в похожести данных списка, которая проявляется почему-то именно при скрытом интерфейсе.
Ну да ладно как есть так есть. Благодарю за помощь!


Сообщение отредактировал Сергей13 - Среда, 28.11.2018, 20:26
 
Ответить
Сообщениеnilem, приветствую! Так как лист скрыт то установил код защиты листа в коде открытия листа, а не в открытии книги, думаю что это не критично?
Уловил такой момент, некоторые списки имеют одинаковый шаблон для составления нужного наименования, например «а/в/c/d», где например меняется только «d», но с учетом большого количества шаблонов с одинаковыми первоначальными значениями при раскрытии списка иногда активирует не изначально веденные данные а похожие по первоначальным знакам, то есть проявляется та причина которая описана выше.
Думаю что дело тут в похожести данных списка, которая проявляется почему-то именно при скрытом интерфейсе.
Ну да ладно как есть так есть. Благодарю за помощь!

Автор - Сергей13
Дата добавления - 28.11.2018 в 20:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » При раскрытии списка активное поле не совпадает с данными. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!