|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.02.2012, 10:58 | #1 |
Пользователь
Регистрация: 27.12.2011
Сообщений: 27
|
функция
Добрый день, надеюсь на вашу помощь,в вба я новичек
есть функция, производит определнную обработку веб запроса, результат 2 значения (те это уже массив), не могу понять как это можно написать, тк с функциями только начал работать. Не хочется 2 раза запускать ф-ю с разным параметром, чтобы сократить кол-во запросов и время обработки. Function count (ByVal input1 As Integer) As Variant 'или фунцию задавать as range? 'мне нужно чтобы в 1ом элеметом массива было число input '2ом nput*2 End Function также возникает вопрос, можно ли ее использовать в формуле листа (если протянуть на 2 ячейки и ввести как ф-лу массива, наверное, будет работать, а возможно ли получить в ячейку весь массив и каким-то образом взять его 1 или 2ой элемент?) Также не понятно как тянуть из нее определенный элемент в vba, присвоить определенной переменной -массиву значение функции и ссылаться уже на эту переменную что-то вроде set x to Function count (123) msgbox(x(1,1)) msgbox(x(1,2)) Спасибо! |
28.02.2012, 11:22 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
функция не может изменить значение в 2-х ячейках.
для этого есть процедуры.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 28.02.2012 в 11:45. |
28.02.2012, 11:34 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Игорь, можно ведь написать UDF, возвращающую массив - и если вводить сразу в несколько ячеек как формулу массива - то и будет сразу несколько значений.
Вот нашёл пример (может и с этого форума, не записал): Выделите диапазон 3*3 ячейки (например B5:D7) Введите в строке формул =ReturnArray() Нажмите Ctrl-Shift-Enter Код:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 28.02.2012 в 11:46. |
28.02.2012, 11:48 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
вернуть массив - это понятно.
вот эта конструкция '2ом nput*2 в теле функции (присвоить ячейке значение) не сработает
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
28.02.2012, 12:09 | #5 |
Пользователь
Регистрация: 27.12.2011
Сообщений: 27
|
Hugo121, спасибо большое!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++.функция. | savva | Помощь студентам | 8 | 05.07.2010 22:28 |
Функция | timyr1997 | Общие вопросы Delphi | 3 | 05.07.2010 08:58 |
функция | Lemo | Помощь студентам | 7 | 24.10.2008 12:54 |
одна функция потока, а другая функция - член класса запускающего этот поток | Дмитрий_Ч | Общие вопросы C/C++ | 2 | 27.09.2007 08:50 |