powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VLookup
25 сообщений из 25, страница 1 из 1
VLookup
    #34225605
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значение переменной задается VLookup, прерывается процедура и выходит сообщение
Sub of Function not defined. какую referentces включить?
...
Рейтинг: 0 / 0
VLookup
    #34225615
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VLookup это хто?

код показывайте.
...
Рейтинг: 0 / 0
VLookup
    #34225626
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
advVLookup это хто?

код показывайте.

Private Sub Worksheet_Activate()
Dim a
For i = 3 To 9 Step 1
For s = 15 To 179 Step 1
If Лист1.Cells(s, i) = "" Then
a = VLookup(Лист1.Cells(s, i), Лист4.Cells(1, 1), 2, False)
End If
Next s
Next i
End Sub
...
Рейтинг: 0 / 0
VLookup
    #34225633
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему на форум акса?
...
Рейтинг: 0 / 0
VLookup
    #34225645
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
advа почему на форум акса?
Данные таблицы акса экспортируются в шаблон EXEL на временный лист t, потом с этого листа выбираются данные в шаблон, лист удаляется и шаблон заполнен
Больше не знаю где спросить (если честно)
...
Рейтинг: 0 / 0
VLookup
    #34225699
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот код - он в Аксе или в Excel? Если в Аксе, то что - то тут не так. Посмотрите поиском по форуму ("Excel экспорт" или что - то в этом роде), не обращаются так в Аксе с объектами из Экселя...
...
Рейтинг: 0 / 0
VLookup
    #34225728
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще - тут формат функции не нарушен? Вот он тут, например http://www.ozgrid.com/Excel/excel-vlookup-formula.htm . Получается, Вы сначала проверяете, не является ли ячейка пустой, а потом ищете эту пусту в другой ячейке?
...
Рейтинг: 0 / 0
VLookup
    #34225730
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переменной присваиваю значение VLookup(). Прерывается процедура Sub of Function not defined.
В чем дело?
...
Рейтинг: 0 / 0
VLookup
    #34225733
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaПеременной присваиваю значение VLookup(). Прерывается процедура Sub of Function not defined.
В чем дело?

Private Sub Worksheet_Activate()
Dim a
For i = 3 To 9 Step 1
For s = 15 To 179 Step 1
If Лист1.Cells(s, i) = "" Then


a = VLookup(Лист1.Cells(s, i), Лист4.Cells(1, 1), 2, False)
End If
Next s
Next i
End Sub
...
Рейтинг: 0 / 0
VLookup
    #34225764
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenkoИ вообще - тут формат функции не нарушен? Вот он тут, например http://www.ozgrid.com/Excel/excel-vlookup-formula.htm . Получается, Вы сначала проверяете, не является ли ячейка пустой, а потом ищете эту пусту в другой ячейке?

Поиск пустых ячеек для того чтобы потом вставить значение переменной в пустую ячейку
...
Рейтинг: 0 / 0
VLookup
    #34225781
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю ;-( Функция VlookUp ищет первое(Лист1.Cells(s, i)) в интервале второе(Лист4.Cells(1, 1)) - то есть пустоту во втором?
...
Рейтинг: 0 / 0
VLookup
    #34225886
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreeva tuandreevaПеременной присваиваю значение VLookup(). Прерывается процедура Sub of Function not defined.
В чем дело?

Private Sub Worksheet_Activate()
Dim a
For i = 3 To 9 Step 1
For s = 15 To 179 Step 1
If Лист1.Cells(s, i) = "" Then


a = VLookup(Лист1.Cells(s, i), Лист4.Cells(1, 1), 2, False)
End If
Next s
Next i
End Sub
а это что? a = VLookup(Лист1.Cells(s, i), Лист4.Cells(1, 1), 2, False)
должен быть диапозон причем количество столбцов д.б. не меньше цифры в третьем аргументе
...
Рейтинг: 0 / 0
VLookup
    #34226264
VLookup - функция рабочего листа. Ее, как и длугие в модуле Excel-я нужно вызывать так:
а = WorksheetFunction.VLookup...
...
Рейтинг: 0 / 0
VLookup
    #34226704
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это ссылка на значения ячейки А1(Что ищем)
...
Рейтинг: 0 / 0
VLookup
    #34226790
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaЭто ссылка на значения ячейки А1(Что ищем)
читайте справку по функции ВПР(Vlookup)
повторюсь там д.б. диапазон
...
Рейтинг: 0 / 0
VLookup
    #34226802
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
Синтаксис

ВПР(искомое_значение;инфо_таблица;номер_столбца;интервальный_просмотр)

Искомое_значение   - это значение, которое должно быть найдено в первом столбце массива. 
Искомое_значение может быть значением, ссылкой или текстовой строкой.

Инфо_таблица   - это таблица с информацией, в которой ищутся данные. Можно использовать
ссылку на интервал или имя интервала, например, БазаДанных или Список. 

Если интервальный_просмотр имеет значение ИСТИНА, то значения в первом столбце аргумента
инфо_таблица должны быть расположены в возрастающем порядке: ..., -2, -1, 0, 1, 2, ..., A-Z, 
ЛОЖЬ, ИСТИНА; в противном случае функция ВПР может выдать неправильный результат. Если 
интервальный_просмотр имеет значение ЛОЖЬ, то инфо_таблица не обязана быть сортированной.


Данные можно упорядочить следующим образом: в меню Данные выбрать команду Сортировка и
установить переключатель По Возрастанию.


Значения в первом столбце аргумента инфо_таблица могут быть текстами, числами или 
логическими значениями.


Регистр не учитывается (т. е. строчные и заглавные буквы не различаются). 

Номер_столбца   - это номер столбца в массиве инфо_таблица, в котором должно быть найдено 
соответствующее значение. Если номер_столбца равен 1, то возвращается значение из первого 
столбца аргумента инфо_таблица; если номер_столбца равен 2, то возвращается значение из 
второго столбца аргумента инфо_таблица и так далее. Если номер_столбца меньше 1, то функция 
ВПР возвращает значение ошибки #ЗНАЧ!; если номер_столбца больше, чем количество столбцов 
в аргументе инфо_таблица, то функция ВПР возвращает значение ошибки #ССЫЛ!.

Интервальный_просмотр   - это логическое значение, которое определяет, нужно ли, чтобы ВПР 
искала точное или приближенное соответствие. Если этот аргумент имеет значение ИСТИНА или 
опущен, то возвращается приблизительно соответствующее значение; другими словами, если 
точное соответствие не найдено, то возвращается наибольшее значение, которое меньше, чем 
искомое_значение. Если этот аргумент имеет значение ЛОЖЬ, то функция ВПР ищет точное 
соответствие. Если таковое не найдено, то возвращается значение ошибки #Н/Д.

Замечания 

Если ВПР не может найти искомое_значение и интервальный_просмотр имеет значение ИСТИНА, то 
используется наибольшее значение, которое меньше, чем искомое_значение.


Если искомое_значение меньше, чем наименьшее значение в первом столбце аргумента 
инфо_таблица, то функция ВПР возвращает значение ошибки #Н/Д.


Если ВПР не может найти искомое_значение и интервальный_просмотр имеет значение ЛОЖЬ, то 
ВПР возвращает значение ошибки #Н/Д. 


Примеры



На приведенном рабочем листе, где интервал A4:C12 имеет имя Интервал:

ВПР(1;Интервал;1;ИСТИНА) равняется 0,946

ВПР(1;Интервал;2) равняется 2,17

ВПР(1;Интервал;3;ИСТИНА) равняется 100

ВПР(0,746;Интервал;3;ЛОЖЬ) равняется 200

ВПР(0,1;Интервал;2;ИСТИНА) равняется #Н/Д, поскольку 0,1 меньше, чем наименьшее значение в столбце A

ВПР(2;Интервал;2;ИСТИНА) равняется 1,71
...
Рейтинг: 0 / 0
VLookup
    #34226948
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев )VLookup - функция рабочего листа. Ее, как и длугие в модуле Excel-я нужно вызывать так:
а = WorksheetFunction.VLookup...

error '1004'
Невозможно получить свойство VLookup класса WorkSheetFunction
...
Рейтинг: 0 / 0
VLookup
    #34227178
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreeva Анатолий ( Киев )VLookup - функция рабочего листа. Ее, как и длугие в модуле Excel-я нужно вызывать так:
а = WorksheetFunction.VLookup...

error '1004'
Невозможно получить свойство VLookup класса WorkSheetFunction
при правильном синтаксе и правильном указании всех аргументов ошибки не будет

tuandreevaДанные таблицы акса экспортируются в шаблон EXEL на временный лист t, потом с этого листа выбираются данные в шаблон, лист удаляется и шаблон заполнен
очень абстрактное описание задачи

вот посмотри пример работы Vlookup
...
Рейтинг: 0 / 0
VLookup
    #34227304
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
error '9'
Subscript out of range

НЕ пойму, в чем дело?
...
Рейтинг: 0 / 0
VLookup
    #34227378
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaerror '9'
Subscript out of range

НЕ пойму, в чем дело?
покажи где
...
Рейтинг: 0 / 0
VLookup
    #34227890
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a = WorksheetFunction.VLookup(Worksheets("Лист1").Range("B15").Value, Worksheets("Лист4").Range("A1:I169"), 2, False)

А ваш пример работает нормально
...
Рейтинг: 0 / 0
VLookup
    #34227910
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaa = WorksheetFunction.VLookup(Worksheets("Лист1").Range("B15").Value, Worksheets("Лист4").Range("A1:I169"), 2, False)

А ваш пример работает нормально
Все понятно, ошибка в названии листов.
Другой вопрос:
Как Worksheets("Лист4").Range("A1:I169") обозвать при помощи Cells?
...
Рейтинг: 0 / 0
VLookup
    #34227999
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreeva tuandreevaa = WorksheetFunction.VLookup(Worksheets("Лист1").Range("B15").Value, Worksheets("Лист4").Range("A1:I169"), 2, False)

А ваш пример работает нормально
Все понятно, ошибка в названии листов.
Другой вопрос:
Как Worksheets("Лист4").Range("A1:I169") обозвать при помощи Cells?

в меню "сервис"->"ПАРАМЕТРЫ" вкладка "общее" поставь галку стиль ссылок R1C1 и тогда будешь знать нужный тебе адрес

а
Код: plaintext
Range("A1:I169")  = Range(Cells( 1 ,  1 ), Cells( 169 ,  9 ))
...
Рейтинг: 0 / 0
VLookup
    #34228029
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо БОЛЬШОЕ
...
Рейтинг: 0 / 0
VLookup
    #34228155
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private Sub Worksheet_Activate()
Dim a
For i = 3 To 9 Step 1
For s = 15 To 179 Step 1
If Лист1.Cells(s, i) = "" Then
a = WorksheetFunction.VLookup(Worksheets("0503130").Range(Cells(s, 2)).Value, Worksheets("t").Range(Cells(1, 1), Cells(169, 9)), 2, False)
Лист1.Cells(s, i) = a
End If
Next s
Next i
End Sub
Диапазон неверный?
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VLookup
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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