mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

Получение данных из закрытой книги Excel

Функция GetValue предназначена для получения данных из закрытой книги Excel

Использовать такой способ имеет смысл только в том случае, если из большого файла надо получить значения только нескольких ячеек (или одного диапазона ячеек), и при этом точно известно расположение на листе интересующих нас ячеек, и имена листов

Пример использования функции:

Sub ПримерИспользования_GetValue()
    p = "C:\Documents and Settings\Бухгалтерия" ' папка с файлом
    f = "расход.xls" ' имя файла
    s = "доходы" ' название листа
    a = "D145" ' интересующая нас ячейка
    
    ' выполняем загрузку данных из закрытой книги Excel
    ЗначениеЯчейки = GetValue(p, f, s, a)
 
    Debug.Print ЗначениеЯчейки ' выводим результат в окно Immediate
End Sub

Посмотрите также результат использования этой функции внутри цикла
для получения значений ячеек из списка найденных файлов

Код функции GetValue:

Function GetValue(path, file, sheet, ref)
    'Функция GetValue получает в качестве параметров:
    ' path – путь к закрытому файлу (например, "d:\files");
    ' file – название рабочей книги (например, "budget.xls");
    ' sheet – название рабочего листа (например, "Лист1");
    ' ref – ссылка на ячейку (например, "C4").
    
    If Right(path, 1) <> "\" Then path = path & "\"
 
    ' проверяем наличие файла по заданному пути
    If Dir(path & file) = "" Then GetValue = "Файл не найден": Exit Function
 
    ' формируем строку запроса
    arg$ = "'" & path & "[" & file & "]" & sheet & "'!" & _
           Range(ref).Range("A1").Address(, , xlR1C1)
 
    ' считываем значение из закрытой книги
    GetValue = ExecuteExcel4Macro(arg$)
 
    ' вместо ошибки возвращаем сообщение об ошибке
    ' к примеру, если лист не найден, или указана несуществующая ячейка
    If IsError(GetValue) Then GetValue = "<ошибка>"
End Function

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Доброго времени суток. Пытаюсь "скрестить" FilenamesCollection.xls с функцией GetValue
Указываю путь к папке (С1) наименование файла В19 наименование листа в файле Sheet1 и ячейку данные с которой пытаюсь вытянуть С15 - выкидывает ошибку ЗНАЧ... Поскажите где моя ошибка?
в ДНК? )))

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  _____    __          _____    ___        _ 
|___ / / _| __ __ |_ _| ( _ ) __| |
|_ \ | |_ \ \/ / | | / _ \ / _` |
___) | | _| > < | | | (_) | | (_| |
|____/ |_| /_/\_\ |_| \___/ \__,_|
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.