1 / 1 / 0
Регистрация: 15.11.2010
Сообщений: 12
|
|
1 | |
Получение значения по текстовому имени из закрытого файла19.09.2013, 09:47. Показов 2086. Ответов 7
Метки нет (Все метки)
Доброе время суток!
Есть задача: в столбце прописаны имена файлов эл.таблиц (как текст), в соседних столбцах нужно получить значение ячейки A1, А2 и т.д. из соответствующих файлов. Использовать прямые ссылки на ячейки этих файлов нецелесообразно из-за большого кол-ва вносимых изменений в имена файлов. Функция ДВССЫЛ() работает только при открытых файлах, а нужно получить значения без их открытия. Простой пример во вложении. Что посоветуете?
1
|
19.09.2013, 09:47 | |
Ответы с готовыми решениями:
7
Получение значения по имени свойства класса Получение значения атрибута класса по его имени Получение имени объекта и занос в него значения Получение имени файла |
19.09.2013, 10:19 | 2 | |||||||||||||||
Вариант 1
Вариант 2
После заточки вариантов "под себя" всё работет, но
Для второго варианта в reference подключи Microsoft ActiveX DataObjects.
1
|
1 / 1 / 0
Регистрация: 15.11.2010
Сообщений: 12
|
|
19.09.2013, 11:35 [ТС] | 3 |
Работа макроса
понятна.
А как эту функцию использовать в ячейках таблицы? Добавлено через 54 минуты Вызов вышеописанной функции GetValueFromClosed() из макроса возвращает правильный результат, а вызов с теми же параметрами из ячейки таблицы выдаёт #ЗНАЧ!. В чём причина неработоспособности функции, описанной в модуле VBA при использовании её в ячейке?
0
|
416 / 263 / 83
Регистрация: 27.10.2012
Сообщений: 861
|
|
19.09.2013, 12:05 | 4 |
0
|
1 / 1 / 0
Регистрация: 15.11.2010
Сообщений: 12
|
|
19.09.2013, 16:59 [ТС] | 5 |
Проблема не в именах файлов...
DimN написал отличные варианты решения, за что ему спасибо! Предоставленная функция GetValueFromClosed() хорошо работает в теле макроса. Вот её вызов из макроса Вывести_Результат(): MsgBox GetValueFromClosed("", "Таблица1.xlsx", "Лист1", "A2") Но при её использовании в ячейке таблицы с теми же параметрами: =GetValueFromClosed(""; "Таблица1.xlsx"; "Лист1"; "A2") получается #ЗНАЧ!. Пример во вложении. В чём может быть проблема?
0
|
416 / 263 / 83
Регистрация: 27.10.2012
Сообщений: 861
|
|
19.09.2013, 22:53 | 6 |
Повесить макрос на какое-нибудь событие на листе и пускай себе работает.
0
|
20.09.2013, 07:02 | 7 |
Согласен, повесь на на кнопку и обзови её "refreж"
или вообще на изменение содержимого листа ваще забавно будет - изменил имя файла - само обновилось, но на листе работать будет ооочень неудобно - привыкать надо будет.
0
|
John_W
|
|
20.09.2013, 16:55 | 8 |
Добрый день!
подскажите новичку, в чём может быть проблема? задача - получить данные из заданного файла и вставить их в нужные ячейки. Попробовал написать: Sub GetValue() Range("C3").Select p = "C:\Users\john\Desktop" f = "20130906.xlsx" s = "1" a = "D3" Cell("C3") = GetValue(p, f, s, a) End Sub Выдаёт ошибку : Wrong number of arguments or invalid property assignment Спасибо заранее за помощь. |
20.09.2013, 16:55 | |
20.09.2013, 16:55 | |
Помогаю со студенческими работами здесь
8
Получение имени файла Получение имени файла у курсора Получение имени файла из OpenFileDialog Получение имени файла в url Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |