Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/vba вместо ВПР - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » vba вместо ВПР (Макросы/Sub)
vba вместо ВПР
subjugator Дата: Воскресенье, 15.06.2014, 15:53 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток. Я только начинаю изучать макросы. На страницах Вашего сайта нашёл несколько тем где решение было сделано с помощью ВПР - например (http://www.excelworld.ru/forum/2-6356-1#62295). Как решить такую же задачу с помощью макроса? Заранее благодарен.


Сообщение отредактировал subjugator - Воскресенье, 15.06.2014, 15:55
 
Ответить
СообщениеДоброго времени суток. Я только начинаю изучать макросы. На страницах Вашего сайта нашёл несколько тем где решение было сделано с помощью ВПР - например (http://www.excelworld.ru/forum/2-6356-1#62295). Как решить такую же задачу с помощью макроса? Заранее благодарен.

Автор - subjugator
Дата добавления - 15.06.2014 в 15:53
Hugo Дата: Воскресенье, 15.06.2014, 16:00 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

2019
Добрый день.
Покажите пример Ваших данных (и какой нужен результат) - подскажем.
Обычно такие задачи делаются массивами и словарём.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеДобрый день.
Покажите пример Ваших данных (и какой нужен результат) - подскажем.
Обычно такие задачи делаются массивами и словарём.

Автор - Hugo
Дата добавления - 15.06.2014 в 16:00
krosav4ig Дата: Воскресенье, 15.06.2014, 18:38 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
subjugator, как вариант, аналог ВПР на VBA связка Find и Offset

[vba]
Код
Function VPR(ByRef cell As Range, ByRef rng As Range, col&)
      VPR = rng.Find(cell, , xlValues, 1).Offset(0, IIf(col + Abs(col), col - 1, 1 + col))
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 15.06.2014, 19:21
 
Ответить
Сообщениеsubjugator, как вариант, аналог ВПР на VBA связка Find и Offset

[vba]
Код
Function VPR(ByRef cell As Range, ByRef rng As Range, col&)
      VPR = rng.Find(cell, , xlValues, 1).Offset(0, IIf(col + Abs(col), col - 1, 1 + col))
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 15.06.2014 в 18:38
subjugator Дата: Воскресенье, 15.06.2014, 20:44 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
архив, заполнение - 1, заполнение - 2 - это название листов! На листе (архив) есть столбцы с D2 по J2 в которые каждый день вносятся значения, которые имеют порядковый номер (столбец A) и номер позиции (столбец С)! На листах (заполнение - 1) и (заполнение - 2), в строке (2) перечислены все возможные значения(в примере их 10). После внесения данных на лист (архив) - на лист (заполнение - 1) должен идти порядковый номер группы значений для каждого значения(пример: в (архиве) D2=1 и находится в строке с (№)=1 - значит на лист (заполнение -1) в ячейке С3=1. В (архиве) G3=1 и находится в строке (№)=2 - значит на лист (заполнение -1) в ячейке C4=2 и т.д На лист (заполнение - 2): в (архиве) D2=1 и (№ позиции ) =1 - значит на лист (заполнение -2) в ячейке С3=1. В (архиве) G3=1 и находится в строке (№)=8 - значит на лист (заполнение -1) в ячейке C4=8 и т.д Строка в состав которой входит это значение должна копироваться на лист пронумерованный соответствующим значением с подсветкой этого значения(пример на листах (1) и (2))

только вместо листов используются отдельные файлы.
Такая задача может быть решена с помощью макроса?
К сообщению приложен файл: 11.xls (32.0 Kb)


Сообщение отредактировал subjugator - Воскресенье, 15.06.2014, 22:55
 
Ответить
Сообщение
архив, заполнение - 1, заполнение - 2 - это название листов! На листе (архив) есть столбцы с D2 по J2 в которые каждый день вносятся значения, которые имеют порядковый номер (столбец A) и номер позиции (столбец С)! На листах (заполнение - 1) и (заполнение - 2), в строке (2) перечислены все возможные значения(в примере их 10). После внесения данных на лист (архив) - на лист (заполнение - 1) должен идти порядковый номер группы значений для каждого значения(пример: в (архиве) D2=1 и находится в строке с (№)=1 - значит на лист (заполнение -1) в ячейке С3=1. В (архиве) G3=1 и находится в строке (№)=2 - значит на лист (заполнение -1) в ячейке C4=2 и т.д На лист (заполнение - 2): в (архиве) D2=1 и (№ позиции ) =1 - значит на лист (заполнение -2) в ячейке С3=1. В (архиве) G3=1 и находится в строке (№)=8 - значит на лист (заполнение -1) в ячейке C4=8 и т.д Строка в состав которой входит это значение должна копироваться на лист пронумерованный соответствующим значением с подсветкой этого значения(пример на листах (1) и (2))

только вместо листов используются отдельные файлы.
Такая задача может быть решена с помощью макроса?

Автор - subjugator
Дата добавления - 15.06.2014 в 20:44
Gustav Дата: Воскресенье, 15.06.2014, 23:21 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2697
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
как вариант, аналог ВПР на VBA связка Find и Offset

Function VPR(ByRef cell As Range, ByRef rng As Range, col&)
VPR = rng.Find(cell, , xlValues, 1).Offset(0, IIf(col + Abs(col), col - 1, 1 + col))
End Function

Есть же буквальный аналог функции ВПР - метод WorksheetFunction.VLookup. Имеет аналогичные 4 параметра, как и ВПР. Работает как с диапазонами рабочего листа, так и с массивами VBA.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
как вариант, аналог ВПР на VBA связка Find и Offset

Function VPR(ByRef cell As Range, ByRef rng As Range, col&)
VPR = rng.Find(cell, , xlValues, 1).Offset(0, IIf(col + Abs(col), col - 1, 1 + col))
End Function

Есть же буквальный аналог функции ВПР - метод WorksheetFunction.VLookup. Имеет аналогичные 4 параметра, как и ВПР. Работает как с диапазонами рабочего листа, так и с массивами VBA.

Автор - Gustav
Дата добавления - 15.06.2014 в 23:21
krosav4ig Дата: Понедельник, 16.06.2014, 17:21 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а я знаю :) WorksheetFunction.VLookup, он же Application.VLookup это та же функция ВПР, тока в другой обертке.
и столбцы с минусом она не поддерживает ;)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеа я знаю :) WorksheetFunction.VLookup, он же Application.VLookup это та же функция ВПР, тока в другой обертке.
и столбцы с минусом она не поддерживает ;)

Автор - krosav4ig
Дата добавления - 16.06.2014 в 17:21
Мир MS Excel » Вопросы и решения » Вопросы по VBA » vba вместо ВПР (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!