|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Уважаемые собеседники, У меня возникла такая проблема: надо прописать в VBA функцию ВПР (или ГПР), а как не представляю. Кстати, может кто даст ссылочку, если таковая имеется, где можно посмотреть VBA-аналоги функций Excel? Заранее очень благодарен. С уважением, Слобожанин. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2005, 16:51 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
... кажется таки нашёл способ. Надо перед наименованием функции в английском варианте, поставить "Application.". Например: Function ВПРо(искомое_значение, таблица, номер_столбца, интервальный_просмотр) 'As Boolean ВПРо = Application.VLookup(искомое_значение, таблица, номер_столбца, интервальный_просмотр) End Function И всё же, полагаю это наиболее затратный способ. Может кто подскажет другой способ, если есть? С уважением, Слобожанин. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2005, 18:00 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Вы не написали аналог стандартной функции рабочего листа =ВПР() а просто-напросто использовали её в своей пользовательской функции, так как Application.VLookup не что иное, как "сокращённый" вариант Application.WorksheetFunction.Vlookup ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2005, 08:15 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Найди в папке с Офисом файл funcs.xls ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2005, 17:30 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
А вот и топик из которого был выдернут предыдущий совет : http://bbs.vbstreets.ru/viewtopic.php?t=17872 P.S. Для того, чтобы получить результат аналогичный тому, что возвратит стандартная функция рабочего листа =ВПР() если ввести её в ячейку, не обязательно использовать : Application.Vlookup WorksheetFunction.Vlookup Application.WorksheetFunction.Vlookup ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2005, 02:13 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Достаточно использовать "поиск" хорошо описанный на данном форуме и взяти е данных в соседнем столбце ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2005, 17:27 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Можно конечно использовать и .Find, хотя я подразумевал совершенно другой вариант. P.S. Ради интереса сравните количество строк в Вашем коде с использованием .Find и .WorksheetFunction ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2005, 02:10 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
А никто не пробовал делать собственный ВПР работающий с двумя параметрами... т.е. макросом.. чтоб без массива..? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2007, 10:51 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Я делаю так первая часть кода запоминает значения в массив из Листа1, например, Ф.И.О вторая часть кода читает второй лист и ищет соответствие в массиве ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2007, 11:06 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Granata005А никто не пробовал делать собственный ВПР работающий с двумя параметрами... т.е. макросом.. чтоб без массива..? Что значит без массива? Если без {...}, то =Суммпроизв((A1:A100=a)*(B1:B100=b)*C1:C100) В макросе Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2007, 11:29 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Да, именно без {...} Я туплю ужасно, но как ей пользоваться? К примеру в таком случае: устовие1 устовие2 сумма а 1 210 б 2 796 с 3 637 найти сумму с двумя условиями б 2 796 чтоб без добавления индексного столбца... :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2007, 12:02 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Granata005Да, именно без {...} Я туплю ужасно, но как ей пользоваться? К примеру в таком случае: устовие1 устовие2 сумма а 1 210 б 2 796 с 3 637 найти сумму с двумя условиями б 2 796 чтоб без добавления индексного столбца... :-( Если в третьем столбце суммы поставишь, то всё получится, а то в твоём файле текст в третьем столбце, а стекстом уже сложней ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2007, 13:13 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
=ЕСЛИ(СУММПРОИЗВ(($A$1:$A$99=D1)*($B$1:$B$99=E1));ИНДЕКС($C$1:$C$99;СУММПРОИЗВ(($A$1:$A$99=D1)*($B$1:$B$99=E1)*СТРОКА($C$1:$C$99)));0) Формула для выбора текстового значения по двум условиям, только длинно получилось, но сейчас нет времени думать! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2007, 13:29 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2007, 10:49 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Привет друзья. Ищу помощи впервые столкнулся с программированием. записал простой макрос с впр, но с ним много проблем. во вложении исходная таблица Лист1 я её обрезал и Лист2 откуда вытягиваем искомое, её тоже обрезал. помогите сделать красиво. Нужно проВПРить от ячейки I2 до конца ближайшего слева столбца [-1]., чтобы не уехало на дно. т.к. колво строк может быть от 2тыс до 140тыс. искомое значение 4 столб D из Листа2 нужно вытянуть данные(меж) из 2го столбца Нашел на форумах такую штуку, см.ниже, но не справился с ней. Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Модератор: Учимся использовать тэги оформления кода - FAQ СПАСИБО. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 15:05 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
avgust2047, из правил форума, где Вы разместили тот же вопрос: https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=116530&TITLE_SEO=116530-prostoy-vpr https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=rules 4. Не рекомендуется 4.1. Создавать одинаковые темы или сообщения в разных форумах (cross-posting). Публикуя один и тот же вопрос в разных форумах и на дружественных сайтах вы заставляете сразу нескольких людей параллельно думать над вашей задачей и обесцениваете усилия тех, кто даст ответ вторым-третьим и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 18:55 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
Кстати, мне всегда было интересно, что такого ужасного в cross-posting? Допустим кто-то опубликовал вопрос на одном форуме, и вероятно, несколько человек параллельно будут думать над задачей? А если аудитория думающих будет больше, то решение может найтись быстрее и решений может оказаться несколько? Если помощь бесплатная, то усилия в любом случае не имеют цены для помогающего? Здоровая конкуренция между сайтами (даже дружественными) лишь улучшит их качество? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2019, 20:03 |
|
Как написать в VBA функцию аналог ВПР?
|
|||
---|---|---|---|
#18+
iMrTidyчто такого ужасного в cross-posting?В самом кроссе - ничего. Отторжение возникает потому, что 99% кросс-постеров не обслуживают созданный пакет вопросов. Т.е. не дублируют высказанные в одном треде светлые мысли и идеи в другой, не публикуют финальные решения (об объяснениях даже речи не идёт!), даже не публикуют в тредах ссылки на кросс-темы. Т.е. вина за отторжение - практически целиком и полностью на авторе. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 08:21 |
|
|
start [/forum/topic.php?fid=61&msg=33181084&tid=2172078]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 143ms |
0 / 0 |