Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как оформить ссылку? / 4 сообщений из 4, страница 1 из 1
20.06.2007, 13:09:13
    #34607517
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оформить ссылку?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Function VLOOKUP3(SearchColumnNum As Integer, SearchValue As Variant, _
                                        N As Integer, ResultColumnNum As Integer)
    Dim i As Integer
    Dim iCount As Integer
    Dim Table As Range
    Set Table = Workbooks("Таблица.xls").Worksheets("Лист1").Range("A1:B5")
    For i =  1  To Table.Rows.Count
            If Table.Cells(i, SearchColumnNum) = SearchValue Then
                iCount = iCount +  1 
            End If
            If iCount = N Then
                VLOOKUP3 = Table.Cells(i, ResultColumnNum)
                Exit For
            End If
        Next i
End Function
Работает, если паралельно Таблица.xls открыта. А если надо обратиться к конкретному документу по адрессу, например:
Код: plaintext
Workbooks("C:\Таблица.xls").Worksheets("Лист1").Range("A1:B5")
то почему не работает?
...
Рейтинг: 0 / 0
20.06.2007, 13:38:11
    #34607645
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оформить ссылку?
redsky
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Function VLOOKUP3(SearchColumnNum As Integer, SearchValue As Variant, _
                                        N As Integer, ResultColumnNum As Integer)
    Dim i As Integer
    Dim iCount As Integer
    Dim Table As Range
    Set Table = Workbooks("Таблица.xls").Worksheets("Лист1").Range("A1:B5")
    For i =  1  To Table.Rows.Count
            If Table.Cells(i, SearchColumnNum) = SearchValue Then
                iCount = iCount +  1 
            End If
            If iCount = N Then
                VLOOKUP3 = Table.Cells(i, ResultColumnNum)
                Exit For
            End If
        Next i
End Function
Работает, если паралельно Таблица.xls открыта. А если надо обратиться к конкретному документу по адрессу, например:
Код: plaintext
Workbooks("C:\Таблица.xls").Worksheets("Лист1").Range("A1:B5")
то почему не работает?

Тебе именно N-ое по счёту совпадение выбрать нужно или просто VLOOKUP обычный?
...
Рейтинг: 0 / 0
20.06.2007, 14:59:15
    #34607984
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оформить ссылку?
Можно и VLOOKUP, лишьбы можно было задать путь в коде.
...
Рейтинг: 0 / 0
20.06.2007, 19:08:57
    #34608915
redsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оформить ссылку?
Поставлю вопрос по другому:
Есть папка: C:\Таблицы\
В ней очень много документов вида:
C 01.01.2007 по 18.01.2007
C 01.01.2007 по 21.03.2007
C 01.01.2007 по 03.03.2007
C 01.01.2007 по 15.05.2007
C 01.04.2007 по 08.06.2007
C 01.04.2007 по 21.04.2007
C 01.05.2007 по 29.05.2007
C 01.05.2007 по 01.06.2007
C 01.03.2007 по 13.06.2007
C 01.03.2007 по 18.06.2007
................
В каждом из этих документов меня интересует массив "C4:X450"
Искомое значение находится в первом столбце массива.
Надо:
написать функцию типа VBLOOKUP с тремя переменными:
1. искомое значение (должно совпадать со значением в первом столбце массива)
2. дата1 (первая дата в названии документа)
3. дата2 (вторая дата в названии тогоже документа)
Код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function func(ByVal значение As String, ByVal дата1 As String, ByVal дата2 As String)
   Dim sdf As Range
   Dim sdf1 As String
   Dim sdf2 As String
   Dim sdf3 As String
   Dim sdf4 As String
   sdf1 = "'C:\Таблицы\["
   sdf2 = "C "
   sdf3 = " по "
   sdf4 = ".xls]Лист1'!C4:X450"
   sdf = sdf1 + sdf2 + дата1 + sdf3 + дата2 + sdf4
   func = WorksheetFunction.VLookup(значение, sdf,  2 , False)
End Function

Выдаёт, что ошибка в значении! Что не так???
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как оформить ссылку? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]