Доброго времени суток. Я только начинаю изучать макросы. На страницах Вашего сайта нашёл несколько тем где решение было сделано с помощью ВПР - например (http://www.excelworld.ru/forum/2-6356-1#62295). Как решить такую же задачу с помощью макроса? Заранее благодарен.
Доброго времени суток. Я только начинаю изучать макросы. На страницах Вашего сайта нашёл несколько тем где решение было сделано с помощью ВПР - например (http://www.excelworld.ru/forum/2-6356-1#62295). Как решить такую же задачу с помощью макроса? Заранее благодарен.subjugator
Сообщение отредактировал subjugator - Воскресенье, 15.06.2014, 15:55
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]
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
архив, заполнение - 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))
только вместо листов используются отдельные файлы. Такая задача может быть решена с помощью макроса?
архив, заполнение - 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
как вариант, аналог ВПР на 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.
как вариант, аналог ВПР на 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
а я знаю WorksheetFunction.VLookup, он же Application.VLookup это та же функция ВПР, тока в другой обертке. и столбцы с минусом она не поддерживает
а я знаю WorksheetFunction.VLookup, он же Application.VLookup это та же функция ВПР, тока в другой обертке. и столбцы с минусом она не поддерживает krosav4ig