Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2015, 20:17   #1
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию ВПР или макрос

Доброго времени суток, уважаемые форумчане!
Обращаюсь к вам с просьбой, подсказать с формулой ВПР, не могу сообразить, как СЦЕПИТЬ значение столбцов A;B;C на Листе2, и найти схожее совпадение на Листе1, проставив фамилию водителя, в столбик D.
Или есть иная формула, а не ВПР?

что-то пытался сделать с функцией ВПР, результат негативный
ВПР(СЦЕПИТЬ(A3;B3;C3);Лист1!сцепить (Лист1!A2;Лист1!B2;Лист1!C2):Лист1! D;2;0)
Вложения
Тип файла: xlsx ВПР_макрос.xlsx (14.6 Кб, 20 просмотров)
amadeus017 вне форума Ответить с цитированием
Старый 11.11.2015, 21:22   #2
gling
Форумчанин
 
Регистрация: 23.01.2010
Сообщений: 261
По умолчанию

Ест вариант, но не с ВПР. Для ВПР с моими знаниями нужен доп столбец.
Вложения
Тип файла: xlsx ВПР_макрос.xlsx (15.6 Кб, 20 просмотров)
gling вне форума Ответить с цитированием
Старый 11.11.2015, 21:35   #3
AleksandrH
Заблокирован
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Код:
Function NewVlookup(data As Date, Point As String, Product As String) As String
    Dim r As Long, i As Long
    NewVlookup = "Data Not Found"
    With Sheets(1)
    r = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
    For i = 2 To r
        cs = .Cells(i, 1) & .Cells(i, 2) & .Cells(i, 3)
        css = data & Point & Product
        If .Cells(i, 1).Value = data And .Cells(i, 2).Value = Point And .Cells(i, 3).Value = Product Then
            NewVlookup = .Cells(i, 4)
            Exit Function
        End If
    Next
    End With
End Function
AleksandrH вне форума Ответить с цитированием
Старый 12.11.2015, 01:07   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Не понимаю - зачем в коде строка
Код:
cs = .Cells(i, 1) & .Cells(i, 2) & .Cells(i, 3)
только время ворует...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.11.2015, 08:52   #5
AleksandrH
Заблокирован
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Пардон, ето для меня при отладке.
Строки
Код:
cs = .Cells(i, 1) & .Cells(i, 2) & .Cells(i, 3)
        css = data & Point & Product
не нужны
AleksandrH вне форума Ответить с цитированием
Старый 12.11.2015, 17:03   #6
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Прошу прощения, я с макросами на "Вы", думал, что просто скопировал код, нажал Alt+F11, вставил код в "книгу" и можно через Alt+F8, вызвать макрос и пользоваться... Но чуда, не произошло.
amadeus017 вне форума Ответить с цитированием
Старый 12.11.2015, 17:35   #7
AleksandrH
Заблокирован
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

я тоже, но предлагаю слегка подчудить и на листе Лист2 в ячейку D4 вписать
Код:
=NewVlookup(A4;B4;C4)
и нажать Ентер
AleksandrH вне форума Ответить с цитированием
Старый 12.11.2015, 17:56   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Но сперва код (без этих двух лишних строк) закопипастить в СТАНДАРТНЫЙ модуль этой книги, или надстройки, или любой другой (но тогда искать функцию в списке "определённых пользователем" мастером).
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.11.2015, 19:51   #9
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Большое спасибо!!! Все получилось!
Попробовал макросом (функцией) и вместо ВПР, ИНДЕКСом, как в примере от gling. В индексе, я заметил, что если не ставить дату на Листе2, то выбирается первое значение с Листа1, т.е., если столбики поменять местами, то функция может не сработать, да? Надо будет попробовать... Однако, сейчас задача решена, за что примного благодарен!!!
amadeus017 вне форума Ответить с цитированием
Старый 16.11.2015, 19:21   #10
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

И снова, как говорится, здравствуйте!
Попробовал на практике функцию ИНДЕКС и "NewVlookup", все работает, но в графе где хотелось бы получить данные (перенес в графу F и прикрепил новый файл), остается руками написанная функция, а не значение как при макросе.
Прошу подсказать, встречал кто-то уже подобный код?
Вложения
Тип файла: xls ВПР_макрос_F.xls (55.0 Кб, 15 просмотров)
amadeus017 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
формула ВПР через макрос 27102014 Microsoft Office Excel 2 16.07.2015 16:24
Макрос аля ВПР для формирования свода из закрытых книг MaxxVer Microsoft Office Excel 15 28.08.2012 12:02
Аналог ВПР или поиск текста bel1ever Microsoft Office Excel 3 19.08.2011 10:02
макрос и ВПР flacon45 Microsoft Office Excel 16 09.02.2011 09:26
Двойной или тройной ВПР gadspider Microsoft Office Excel 10 30.11.2010 15:54