Доступ к конкретным ячейкам docmd.transferspreadsheet

#ms-access #vba

#ms-access #vba

Вопрос:

если бы кто-нибудь мог дать мне несколько советов о том, как выбрать конкретные ячейки, я был бы признателен. Я могу заставить команду работать с диапазоном, см. «A1: A50» в текущем коде. Каждый раз, когда я пытался использовать список, это не срабатывало.

Ищем следующие ячейки для импорта: A1, C16, C18, F16, F18

 Public Sub ImportExcelSpreadsheet(fileName As String, tableName As String)
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, tableName, fileName, False, "A1:A50"
End Sub
  

Комментарии:

1. Невозможно использовать TransferSpreadsheet для несмежных ячеек, поэтому должен быть диапазон. Используйте код автоматизации Excel. Или, если таблица достаточно проста, установите ссылку.

2. Привет, Джун, спасибо за отзыв! Я избегал добавлять слишком много фона, чтобы прояснить вопрос, но, возможно, некоторые из них помогли бы. У меня есть база данных Access с таблицей tbl_jobList . Существует более 900 файлов Excel (всего 1 лист), в которых данные заполнены с помощью точно такого же шаблона. Моей целью было импортировать определенный список ячеек из каждого файла Excel в виде строки в таблицу access. Поскольку transferspreadsheet работать не будет, можете ли вы предложить альтернативу? Я не хочу связывать более 900 листов.

3. Автоматизация Excel. VBA объявляет объекты Excel, открывает их и управляет ими. Повторный просмотр accessmvp.com/KDSnell/EXCEL_Import.htm#WriteFileRst