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

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

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

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

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

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

Доброго времени суток, уважаемые форумчане!
Буду краток. На лист "Результат", в гр.6 "F", нужен макрос ВПР с листа "Данные" (количество строк на листе "Данные" и "Результат", всегда по разному).
На форуме нашел макрос от "Казанский", код ниже, попробовал его внедрить в свою таблицу, запутался в значениях. Прошу помочь, файл прилагаю.

Код от "Казанский".
Sub Крутой_Макрос()
Dim c As Range, Искомое_значение
Искомое_значение = "Искомое_значение"
'поиск нужной таблицы на листе Справочник
Set c = Sheets("Справочник").Cells.Find("*" & Искомое_значение, , xlValues, xlWhole)
If Not c Is Nothing Then
'вставка формулы ВПР
Sheets("Расчет").Range("D3").Formul aR1C1 = "=VLOOKUP(RC[-3]," & c.EntireColumn.Resize(, 3).Address(, , xlR1C1, True) & ",3,0)"
End If
End Sub
Вложения
Тип файла: rar ВПР_ф.rar (33.9 Кб, 17 просмотров)
amadeus017 вне форума Ответить с цитированием
Старый 05.11.2015, 20:14   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
На форуме нашел макрос от "Казанский", код ниже, попробовал его внедрить в свою таблицу, запутался в значениях.
это нормально. я сам 2 раза запутывался в макросах от "Казанский", но оба раза все обошлось
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.11.2015, 20:39   #3
AleksandrH
Заблокирован
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Код:
Sub Не_крутой_Макрос()
    Dim F As Long, B As Long, i As Long
    F = Sheets("Результат").Cells(Sheets("Результат").Rows.Count, 6).End(xlUp).Row
    B = Sheets("Результат").Cells(Sheets("Результат").Rows.Count, 2).End(xlUp).Row
    For i = F + 1 To B
        Cells(i, 6).FormulaR1C1 = "=vlookup(rc2,Данные!r1c1:r" & Sheets("Данные").Cells(Sheets("Данные").Rows.Count, 1).End(xlUp).Row & "c9,9,0)"
    Next
End Sub
AleksandrH вне форума Ответить с цитированием
Старый 06.11.2015, 02:29   #4
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

AleksandrH
Спасибо! Все работает! Только я сам виноват, не правильно сформулировал что я хотел. Действительно, макрос работает, за что благодарен, и прописывает в каждую ячейку, формулу ВПР, а хотелось бы только значение, т.е. полученный результат. Видать по этому компьютер долго зависал, что прописывал формулу, а не результат, а так, все отлично!
amadeus017 вне форума Ответить с цитированием
Старый 06.11.2015, 09:24   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

А зачем макросом именно ВПР()? Быстрее ведь сразу брать значения, особенно быстро будет по Виндой на словаре, ну и в любом случае на массивах нужно делать.
А сейчас Вы перебираете каждую ячейку шестого столбца Sheets("Результат"), и каждое значение индивидуально ищите по всему столбцу Sheets("Данные"), причём ещё на каждое такое действие высчитываете "а сколько там всего заполнено, вдруг что-то изменилось...". Это я про вариант AleksandrH http://programmersforum.ru/showpost....14&postcount=3
Т.к. архивы мне недоступны - нового примера кода не будет. Но тут уже их таких сотня была...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВПР ПавелАлександрович Microsoft Office Excel 17 15.02.2011 14:24
открытие нескольких книг одним макросом и закрытие книг другим макросом kursant95 Microsoft Office Excel 6 27.01.2011 16:54
ВПР keshechnik Помощь студентам 0 14.11.2010 21:39
Впр keshechnik Microsoft Office Excel 5 14.11.2010 14:39
ВПР Foxx Microsoft Office Excel 2 14.03.2010 16:29