Приветствую. Доброго всем здравия. Наконец-то получилось. MikeVol, огромное спасибо за помощь. Не сочтите за наглось, возможно есть способ как-то упростить, оптимизировать получившуюся конструкцию, научите пожалуйста: [vba]
Код
Private Sub бокс_пехиВ_Change() ' выбор диапазона из меню выбора Me.бокс_пехиД1.ListFillRange = Me.бокс_пехиВ ' привязка к выбору в боксе выбора бокс_пехиД1.ListWidth = бокс_пехиД1.Width + 96 ' ширина выпадающего списка (для добавления колонок)
Private Sub ComboBox1_DropButtonClick() ' снять фокус в комбо With ThisWorkbook.Sheets("Расч").OLEObjects("бокс_пехиД1").Object .SelStart = Len(.Text) .SelLength = 0 End With End Sub
Me.бокс_пехиД2.ListFillRange = Me.бокс_пехиВ бокс_пехиД2.ListWidth = бокс_пехиД2.Width + 96 Me.бокс_пехиД3.ListFillRange = Me.бокс_пехиВ бокс_пехиД3.ListWidth = бокс_пехиД3.Width + 96 ... End Sub
[/vba] Дело в том, что у меня таких боксов 20 штук, плюс ещё четыре выше на уровень, для меню выбора. Т.е. текущий список боксов ("бокс_пехиД1, ... 2, 3, 4") зависимый. Файл макросов листа прилагаю.
Приветствую. Доброго всем здравия. Наконец-то получилось. MikeVol, огромное спасибо за помощь. Не сочтите за наглось, возможно есть способ как-то упростить, оптимизировать получившуюся конструкцию, научите пожалуйста: [vba]
Код
Private Sub бокс_пехиВ_Change() ' выбор диапазона из меню выбора Me.бокс_пехиД1.ListFillRange = Me.бокс_пехиВ ' привязка к выбору в боксе выбора бокс_пехиД1.ListWidth = бокс_пехиД1.Width + 96 ' ширина выпадающего списка (для добавления колонок)
Private Sub ComboBox1_DropButtonClick() ' снять фокус в комбо With ThisWorkbook.Sheets("Расч").OLEObjects("бокс_пехиД1").Object .SelStart = Len(.Text) .SelLength = 0 End With End Sub
Me.бокс_пехиД2.ListFillRange = Me.бокс_пехиВ бокс_пехиД2.ListWidth = бокс_пехиД2.Width + 96 Me.бокс_пехиД3.ListFillRange = Me.бокс_пехиВ бокс_пехиД3.ListWidth = бокс_пехиД3.Width + 96 ... End Sub
[/vba] Дело в том, что у меня таких боксов 20 штук, плюс ещё четыре выше на уровень, для меню выбора. Т.е. текущий список боксов ("бокс_пехиД1, ... 2, 3, 4") зависимый. Файл макросов листа прилагаю.votangi59
Пока не пойму, почему файл не прикрепился к сообщению. Файл в текстовом формате (*.txt блокнот). 4 Kb Почитал "Правила" - разобрался. К сожалению файл эксель более 500 Kb - превышение лимита. Извиняюсь за лишний пост.
Пока не пойму, почему файл не прикрепился к сообщению. Файл в текстовом формате (*.txt блокнот). 4 Kb Почитал "Правила" - разобрался. К сожалению файл эксель более 500 Kb - превышение лимита. Извиняюсь за лишний пост.votangi59
Сообщение отредактировал votangi59 - Воскресенье, 11.08.2024, 07:06
votangi59, оставьте несколько строк и несколько объектов на листе. Запакуйте в архив файл и приложите сюда, в данную тему. Может получится решить вопрос и по соседней вашей теме. Надо видеть с чем работать.
votangi59, оставьте несколько строк и несколько объектов на листе. Запакуйте в архив файл и приложите сюда, в данную тему. Может получится решить вопрос и по соседней вашей теме. Надо видеть с чем работать.MikeVol
MikeVol, файл приложил. Базу данных существенно сократил, в верхнем блоке боксов выбор их списка присутствует. Макросы не сокращал, боксы с которых требуется снять фокус после выбора на "Лист2(Расч)", без изменений. По соседней теме, выравнивание столбцов - в принципе не критично, смотрится не очень приятно, особенно когда 6,7 разрядов, но если много будет кода, то и так сойдёт. Благодарю!
MikeVol, файл приложил. Базу данных существенно сократил, в верхнем блоке боксов выбор их списка присутствует. Макросы не сокращал, боксы с которых требуется снять фокус после выбора на "Лист2(Расч)", без изменений. По соседней теме, выравнивание столбцов - в принципе не критично, смотрится не очень приятно, особенно когда 6,7 разрядов, но если много будет кода, то и так сойдёт. Благодарю!votangi59
votangi59, Доброго времени суток. Не был компьютер под рукой пару дней. Смотрим файл, использован класс для сокращения количество процедур. Удачи.
votangi59, Доброго времени суток. Не был компьютер под рукой пару дней. Смотрим файл, использован класс для сокращения количество процедур. Удачи.MikeVol
MikeVol, попробовал. Скопировал код, вставил. Не получилось, не работает. В вашем файле всё отлично, во всех комбо фокус после выбора снимается. После копирования, редактор ошибок не обнаруживает. Подробности см., пожалуйста, в привате. Хотелось бы уточнить - "фокус" и "выделение" одно и тоже?
MikeVol, попробовал. Скопировал код, вставил. Не получилось, не работает. В вашем файле всё отлично, во всех комбо фокус после выбора снимается. После копирования, редактор ошибок не обнаруживает. Подробности см., пожалуйста, в привате. Хотелось бы уточнить - "фокус" и "выделение" одно и тоже?votangi59
Сообщение отредактировал votangi59 - Пятница, 16.08.2024, 07:37
Pelena, Доброго времени суток. Решение в моём последнем файле примере. Ничего особенного нет, просто votangi59 был невнимательным. В модуле ЭтаКнига тоже есть код и он его незаметил сразу. Вопрос решился сам по себе.
Pelena, Доброго времени суток. Решение в моём последнем файле примере. Ничего особенного нет, просто votangi59 был невнимательным. В модуле ЭтаКнига тоже есть код и он его незаметил сразу. Вопрос решился сам по себе.MikeVol