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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2010, 10:43   #1
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию ВПР - выбор файла в зависимости от имени

Уважаемые гуру Excel!
Необходимо Оптимизировать формулу в экселе.

Есть файл.
В ячейке стоит функция ВПР. ВПР обращается к другим файлам и берет из них значения. Каким образом сделать так, чтобы имя файла с данными автоматически менялось, в зависимости от имени работника.



А именно, чтобы в строке

=ВПР(A14,'C:\Documents and Settings\User\Desktop\Новая папка (2)\[Cost_down_2010_Name_1.xlsx]improvements list'!$A$1:$Z$1000,3,0)

Name_1 автоматически менялось на Name_2


Большое спасибо!
Questru вне форума Ответить с цитированием
Старый 10.11.2010, 13:51   #2
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Такое сделать вообще реально?
Questru вне форума Ответить с цитированием
Старый 10.11.2010, 14:19   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

пробуйте так:
=впр(A14;Двссыл("'C:\Document...201 0_" & D14 & ".xlsx]imprpuvements list'!$A$1:$Z$1000"),3,0)
вместо троеточия запишете фрагмент пути, который я пропустил
(формула для С14)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.11.2010, 14:32   #4
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
пробуйте так:
=впр(A14;Двссыл("'C:\Document...201 0_" & D14 & ".xlsx]imprpuvements list'!$A$1:$Z$1000"),3,0)
вместо троеточия запишете фрагмент пути, который я пропустил
(формула для С14)
попробовал - не прошло

Ради эксперимента пробывал и без пробелов и без $

чую без макроса не обойтись (

Последний раз редактировалось Questru; 10.11.2010 в 14:34.
Questru вне форума Ответить с цитированием
Старый 10.11.2010, 15:24   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в документации написано, что второй файл (из которого берем данные) должен быть открыт - тогда будет работать. для вашего случая не подходит наверное.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.11.2010, 15:46   #6
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
в документации написано, что второй файл (из которого берем данные) должен быть открыт - тогда будет работать. для вашего случая не подходит наверное.
угу - данная задумка нужна для того чтобы оптимизировать работу отдела, чтобы не все правили один файл одновременно, а только каждый свою часть. А итоговый файл бы обновлялся постоянно.

А макросом делу можно помочь, чтобы просто при запуске он автоматом ячейку нужным мне ВПР-ом забивал?
Questru вне форума Ответить с цитированием
Старый 11.11.2010, 11:25   #7
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Решил написать не сложный макрос, но так как я первый раз этим занимаюсь, то появилась пара вопросов:

1.
Я могу задать нужную мне ячейку таким образом Range("A1")

скажите, плз, как вместо 1 я могу запихнуть туда переменную i

2.
Такая строчка есть в макросе
Range("C6").Value = "=ВПР(A6,'C:\Documents and Settings\User\Desktop\Новая папка (2)\[Cost_down_2010_" & Name & ".xlsx]improvements list'!$A$1:$Z$500,3,0)"
При окончании работы макроса, в ячейке в качестве результата формулы выдается ошибка #ИМЯ?

В ячейке, как результат работы макроса, стоит текст =ВПР(A6,'C:\Documents and Settings\User\Desktop\Новая папка (2)\[Cost_down_2010_Familiya.xlsx]improvements list'!$A$1:$Z$500,5,0)
Если я ручками заменяю в итоговом тексте Familiya на Familiya, то уже выдается необходимый результат - никаких левых пробелов нет. Грубо говоря удаляю и вставляю одно и тоже.
Что я делаю не так?

Последний раз редактировалось Questru; 11.11.2010 в 11:48.
Questru вне форума Ответить с цитированием
Старый 11.11.2010, 16:28   #8
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

есть кто живой?
Questru вне форума Ответить с цитированием
Старый 11.11.2010, 16:50   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1.
Range("A" & i)
или что есть ссылка на ту же ячейку cells(i,1)

2.
вместо Range("C6").Value = "=ВПР(A6
пробуйте
Range("C6").FormulaLocal = "=ВПР(A6
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 11.11.2010, 16:58   #10
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
1.
Range("A" & i)
или что есть ссылка на ту же ячейку cells(i,1)

2.
вместо Range("C6").Value = "=ВПР(A6
пробуйте
Range("C6").FormulaLocal = "=ВПР(A6

Теперь 1004 ошибку выдает
Я тут написал макрос - где ошибка понять не могу, в силу своей неопытности и малознания
Questru вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
random в имени файла Mihanches Общие вопросы Delphi 3 23.10.2010 10:20
Выбор айтема в Listbox1 по имени Mihanches Общие вопросы Delphi 1 12.10.2010 13:18
Выбор списка в листбоксе в зависимости от выбора в Комбоксе Артур Иваныч Microsoft Office Excel 7 13.11.2009 16:52
Переместить файлы по папкам, в зависимости от имени файла Paul Hindenburg Общие вопросы Delphi 1 07.07.2009 09:50
Копирование имени файла greengeneral Общие вопросы Delphi 3 10.09.2007 14:11