Пытаюсь решить казалось бы тривиальную задачу. Есть лист, на котором в column(1) находятся имена. Этим именам нужно сопоставить идентификаторы, список которых находится в текстовом файле. Причём идентификаторы для каждого имени уникальны, сопоставление может делать только человек — алгоритмизация невозможна. При этом некоторым именам может не соответствовать ничего (в примере — идентификатор "Пуля") Я пытаюсь это реализовать ListBox'ом, удаляя из него выбранный идентификатор "на лету", если он не равен "Пуля", чтобы исключить повторы. Как именно я это реализую, показано в примере. Самое удивительное и возмутительное, что по по F8 макрос отрабатывает как паинька, а при автоматическом запуске заполняет не одну, как надо, а довольно рандомное число строк :o ЧЯДНТ???
Пытаюсь решить казалось бы тривиальную задачу. Есть лист, на котором в column(1) находятся имена. Этим именам нужно сопоставить идентификаторы, список которых находится в текстовом файле. Причём идентификаторы для каждого имени уникальны, сопоставление может делать только человек — алгоритмизация невозможна. При этом некоторым именам может не соответствовать ничего (в примере — идентификатор "Пуля") Я пытаюсь это реализовать ListBox'ом, удаляя из него выбранный идентификатор "на лету", если он не равен "Пуля", чтобы исключить повторы. Как именно я это реализую, показано в примере. Самое удивительное и возмутительное, что по по F8 макрос отрабатывает как паинька, а при автоматическом запуске заполняет не одну, как надо, а довольно рандомное число строк :o ЧЯДНТ???StoTisteg
Я бы и плюнул и сделал бы выбор "цвета" через CheckBox или OptionButton. Когда бы этих самых "цветов" не было шесть десятков... Размеры формы, как вы понимаете, получатся совершенно конские.
Я бы и плюнул и сделал бы выбор "цвета" через CheckBox или OptionButton. Когда бы этих самых "цветов" не было шесть десятков... Размеры формы, как вы понимаете, получатся совершенно конские.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
не удачно выбрали событие Лучше в DblClick клик перенести или клик [vba]
Код
Private Sub lst_ГС_DblClick(ByVal Cancel As MSForms.ReturnBoolean) With frm_Форма.lst_ГС If .Value > 0 Then 'Если выбрано не "Пуля"... Cells(FormString, 2) = .Text 'Копируем выбранное на страницу End If End With frm_Форма.Hide
End Sub
[/vba]
не удачно выбрали событие Лучше в DblClick клик перенести или клик [vba]
Код
Private Sub lst_ГС_DblClick(ByVal Cancel As MSForms.ReturnBoolean) With frm_Форма.lst_ГС If .Value > 0 Then 'Если выбрано не "Пуля"... Cells(FormString, 2) = .Text 'Копируем выбранное на страницу End If End With frm_Форма.Hide
Клик не годится, его вызывает и прокрутка тоже. А даблклик мне не нравится чисто эстетически. Хотя если учесть, что макрос предназначен для не сильно частого обучения бота новой выборке...
Клик не годится, его вызывает и прокрутка тоже. А даблклик мне не нравится чисто эстетически. Хотя если учесть, что макрос предназначен для не сильно частого обучения бота новой выборке...StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Сообщение отредактировал StoTisteg - Воскресенье, 21.02.2016, 02:14
В общем я не знаю почему, но если Me.Hide вынести в событие MouseDown, а в событии Change не изменять содержимое ячейки, а запоминать выбранное значение и вставлять его в ячейку уже в макросе, то оно таки работает А почему форма увлечённо беседовала сама с собой, я так и не понял
В общем я не знаю почему, но если Me.Hide вынести в событие MouseDown, а в событии Change не изменять содержимое ячейки, а запоминать выбранное значение и вставлять его в ячейку уже в макросе, то оно таки работает А почему форма увлечённо беседовала сама с собой, я так и не понял StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.