Добрый день, уважаемые. Возник тут вопрос. Имеется функция, результат действия которой - матрица (или вектор, не суть). Вопрос: Как данный результат, без использования ячеек листа, использовать в качестве списка для проверки допустимых значений в ячейках. В качестве примера:
Есть пара столбцов (X Y), по ним вычисляем коэффициенты аппроксимирующего уравнения с помощью ЛИНЕЙН. Результат - вектор {1;0} (в данном примере). Если я данное условие прописываю в качестве проверки данных ячейки (в примере Е2), то а) выдаётся предупреждение о ошибке, но проверка вводится б) вводимые данные проверяются (т.е. ввести можно только 1 и 0, т.е. коэф-ты соответствуют) в) не отображается список В связи с этим повторю вопрос, можно ли как то организовать выпадающий список? ПыСы естественно ЛИНЕЙН взята в качестве примера. ПыПыСы знаю что можно вывести в именованный список, и использовать его в качестве проверки. Но хочу без списка.
написал: Как данный результат, без использования ячеек листа, использовать в качестве списка для проверки допустимых значений в ячейках.В качестве примера:
Не сильный знаток, но попытаюсь угадать ), - сделать udf-ку, которая берет данные где нужно и возвращает в нужном виде.
tutochkin, здравствуйте По вопросу - не знаю, но можно вместо штатного инструмента использовать простенькую пользовательскую форму (с поиском, если нужно), а уж она примет массив, как родной
Цитата
testuser: сделать udf-ку, которая берет данные где нужно и возвращает в нужном виде
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
tutochkin: Имеется функция, результат действия которой …, без использования ячеек листа, использовать в качестве списка для проверки допустимых значений в ячейках
передаём в форму результат функции, выбираем только с помощью формы.
Если же выбирать не надо, а только контролировать, то вешаем макрос проверки на событие листа/книги или кнопку. Макрос берёт результат функции в словарь и проверяет заданный диапазон на корректность. Результат подсвечивает, выводит сообщением или как-то ещё. То же, можно сделать и без макроса - с помощью УФ, как было сказано выше.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous написал: смысл — в осуществлении задуманного. А в чём поломка наглядности?
В случае с DV, работа ведется в той ячейке, в которой данные вводятся. С формой это не так, и даже если повесить Комбо по размерам ячейки, то будет только сложнее.
БМВ, не понял - можно пример? С формой всё должно быть как минимум, не сложнее, а также, в отличие от штатной проверки данных, реализуемо при указанных условиях…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
With [E2].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:=Join(Application.Evaluate(Sheet1.Range("f2").Formula), ",")
End With
, а у тебя они используются, если я правильно понял.
С формой не сложно (как я делаю): 1. Один раз рисуем форму с поиском и насыщаем её нужным кодом. 2. Создаём стандартный модуль и прописываем туда функцию вызова формы с нужными параметрами типа
Код
f_FormAnswer(arrChoose, Optional MultiChoose As Boolean)As Variant()
3. Вызываем форму по событию или кнопке одной строкой и получаем ответ в виде массива или значения (как угодно). 4. При необходимости использования формы в очередном файле, переносим модуль формы и стандартный модуль в этот файл.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous написал: а у тебя они используются, если я правильно понял.
Нет. Итак, я просто не хочу грузить всем расчётом, но суть такая: 1. Есть некоторый набор данных. Эти данные обрабатываются в макросе-функции, и результатом может быть несколько решений, которые выводятся в виде матрицы. Простая аналогия - график несколько раз пересекающий ось Х, а макрос находит все пересечения. 2. На данный момент одним из входных аргументов является номер найденного решения. 3. В дальнейшем я перебираю эти номера (через выпадающий список расположенный в отдельной ячейке...), и визуально по построенным на основании полученных решения, графикам определяю то решение, которое подходит в конкретном случае....
Немного скомкано, но суть думаю ясна. Просто хотел избавиться от лишней ячейки выбора номера решения.
tutochkin, может просто построить тем же макросом сразу все графики на отдельных листах?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
tutochkin: Использование результата выполнения функции как условия проверки ячейки
я дал вариант с формой. Тебе он не понравился. tutochkin про это ответа не дал. Если моё предложение
Цитата
Jack Famous: построить тем же макросом сразу все графики на отдельных листах
является отклонением от темы, то не ты ли (и не только ты) в каждой теме пытаешься выяснить СУТЬ ЗАДАЧИ и решаешь её, а не строго по названию темы…
Я так понимаю, меня снова также забанят, если я просто буду отвечать на вопросы модератора?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ: согласись, вопрос от выпадающего списка перешел в несколько графиков.
согласен, но не просто же так, а после слов ТСа
Цитата
tutochkin: В дальнейшем я перебираю эти номера (через выпадающий список расположенный в отдельной ячейке...), и визуально по построенным на основании полученных решения, графикам определяю то решение, которое подходит в конкретном случае
если ТС перебирает графики, то я и предложил просто сразу их построить… Не прав?
UPD: также есть предложение рассмотреть вопрос решения задачки математикой, чтобы не смотреть газами, а сразу понять, что "подходит" больше всего. Но, если предложение о построении всех графиков это просто да/нет, то математическое решение - точно для другой темы и другими примерами.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄