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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2013, 11:45   #1
Irasen
Пользователь
 
Регистрация: 27.03.2013
Сообщений: 12
По умолчанию Поиск столбца по условию

Здравствуйте!
Пожалуйста помогите с макросом, который бы находил на определённом листе, например с именем "Данные" определённый столбец, например с заголовком "Среднее", и подтягивал из него данные в столбец "Значения" с помощью функции "ВПР".
Заранее благодарен.
Вложения
Тип файла: zip Пример.zip (7.5 Кб, 15 просмотров)

Последний раз редактировалось Irasen; 05.06.2013 в 12:32.
Irasen вне форума Ответить с цитированием
Старый 05.06.2013, 14:46   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Код:
Sub Macro1()
    Dim r As Range
    Set r = Sheets("Данные").UsedRange.Rows(1).Find("Среднее", , xlValues, xlWhole)
    If Not r Is Nothing Then
        With Sheets(1)
            .[b2].FormulaR1C1 = "=VLOOKUP(RC[-1],Данные!R2C1:R11C5," & r.Column & ",0)"
            .[b2].AutoFill Destination:=.Range("B2:B" & .[a2].End(xlDown).Row)
        End With
    End If
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 05.06.2013, 15:04   #3
Irasen
Пользователь
 
Регистрация: 27.03.2013
Сообщений: 12
По умолчанию

...работает...огромное спасибо!...
Irasen вне форума Ответить с цитированием
Старый 06.06.2013, 10:32   #4
Irasen
Пользователь
 
Регистрация: 27.03.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Код:
Sub Macro1()
    Dim r As Range
    Set r = Sheets("Данные").UsedRange.Rows(1).Find("Среднее", , xlValues, xlWhole)
    If Not r Is Nothing Then
        With Sheets(1)
            .[b2].FormulaR1C1 = "=VLOOKUP(RC[-1],Данные!R2C1:R11C5," & r.Column & ",0)"
            .[b2].AutoFill Destination:=.Range("B2:B" & .[a2].End(xlDown).Row)
        End With
    End If
End Sub
...небольшое замечание...
...макрос работает...но лишь только тогда, когда столбец "Среднее" не меняет своего местоположения...возможно ли сделать дополнение, что бы данные из этого столбца подтягивались независимо от его месторасположения...предполагается, что перед ним будут добавлятся столбцы...например с данными истёкшего месяца...
Irasen вне форума Ответить с цитированием
Старый 06.06.2013, 10:45   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Да, "недокрутил"...


Код:
Sub Macro2()
    Dim r As Range
    Set r = Sheets("Данные").UsedRange.Rows(1).Find("Среднее", , xlValues, xlWhole)
    If Not r Is Nothing Then
        With Sheets(1)
            .[b2].Formula = "=VLOOKUP(A2,Данные!$A$2:" & .Cells(Sheets("Данные").[a2].End(xlDown).Row, r.Column).Address & "," & r.Column & ",0)"
            .[b2].AutoFill Destination:=.Range("B2:B" & .[a2].End(xlDown).Row)
        End With
    End If
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 07.06.2013, 12:17   #6
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию

ребят, а мне не поможете?
у меня похожая ситуация вроде бы
http://www.programmersforum.ru/showthread.php?t=238385
KApSuL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить ошибку в программе на С++ (удаление строки и столбца из матрицы по условию) Ultran Помощь студентам 0 06.01.2013 21:47
поиск по условию bize Microsoft Office Excel 6 21.12.2012 22:34
Перебрать все значения столбца по условию. Aleksandr Общие вопросы Delphi 5 23.06.2011 11:39
Выбор из одного столбца по условию выполняющемуся во втором столбце mjpv Microsoft Office Excel 2 30.04.2011 11:58
Удаление столбца по условию... Klim Bassenger Microsoft Office Excel 2 05.05.2009 10:06