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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2012, 11:09   #1
klarmir
Новичок
Джуниор
 
Регистрация: 13.10.2012
Сообщений: 2
По умолчанию ВПР3 (VLOOKUP3) и закрытая книга

ВПР3 (VLOOKUP3) с закрытой книгой
Уважаемые форумчане.
Помогите пожалуйста!
Как или что сделать чтоб функция ВПР3 (VLOOKUP3)
брала данные из закрытой книги. Я использую вот это:

Function VLOOKUP3(Table As Variant, SearchColumnNum As Integer, _
SearchValue As Variant, ResultColumnNum As Integer)
'улучшенная функция ВПР вводится как формула массива
'ищет указанной значение в указанном столбце и выводит все соответствия из указанного столбца
Dim i&, j&
Dim a
ReDim Out(1 To Table.Rows.Count, 1 To 1) As Variant

a = Table.Value
For i = 1 To Table.Rows.Count
If a(i, SearchColumnNum) = SearchValue Then
j = j + 1
Out(j, 1) = a(i, ResultColumnNum)
End If
Next i
VLOOKUP3 = Out
End Function

она работает только при открытой книге,
Спасибо!
klarmir вне форума Ответить с цитированием
Старый 14.10.2012, 11:58   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Попробуйте, должно работать и с открытой, и с закрытой книгой
Код:
Function VLOOKUP3(Table As Variant, SearchColumnNum As Integer, _
                  SearchValue As Variant, ResultColumnNum As Integer)
'улучшенная функция ВПР вводится как формула массива
'ищет указанной значение в указанном столбце и выводит все соответствия из указанного столбца
Dim i&, j&
Dim a
If IsObject(Table) Then a = Table.Value Else a = Table
ReDim Out(1 To UBound(a), 1 To 1) As Variant
For i = 1 To UBound(a)
    If a(i, SearchColumnNum) = SearchValue Then
        j = j + 1
        Out(j, 1) = a(i, ResultColumnNum)
    End If
Next i
VLOOKUP3 = Out
End Function
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВПР3 (VLOOKUP3) не желает работать? klarmir Microsoft Office Excel 2 13.10.2012 12:54
Не работает ВПР3 (VLOOKUP3) strannick Microsoft Office Excel 4 13.05.2012 09:14
книга Adblock Visual C++ 2 24.11.2010 23:44
Книга по C# Skynet91 Обсуждение статей 3 21.08.2010 07:52
Закрытая книга Belokuraya Microsoft Office Excel 4 31.07.2009 14:59