У меня есть этот код, который работает на одной электронной таблице, но не на другой. Я просто пытаюсь автоматизировать передачу диапазона данных первенствовать в таблице доступа, например, такMS Access не может найти мой диапазон excel при импорте
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "UsysFastTrack", strFilePath, False, strRange
strFilePath
и strRange
являются просто строки, содержащие полный путь к файлам (включая имя рабочего листа и расширение) и имя диапазона excel на листе, соответственно. Эта строка вызывает ошибку
The Microsoft Access database engine could not find the object ...
Эта ошибка появляется много в Интернете, и где-то я видел совет попробовать мастер импорта, чтобы увидеть, что я и вот, право, как я попал в последний Next
Это точно такая же ошибка, и это останавливает меня на моих следах. Что забавно, так это то, что вы можете видеть, что диапазон существует в электронной таблице на ваших глазах.
Что здесь происходит?
Что такое название диапазона? –
Формально ваши имена действительны - они начинаются с буквы, не имеют специальных символов, но, вероятно, у Access driver есть проблема с именованным диапазоном и распознаванием диапазона. Попробуйте переименовать свой диапазон в нечто вроде «range432432», оно должно работать. По крайней мере, когда я пытался, это сработало, но имена вроде «f76465» не работали –
Brilliant. Огромное спасибо. Я предполагаю, что название диапазона выглядит слишком похоже на ссылку на ячейку, хотя число за F больше, чем максимальное число строк в excel. Интересно, что excel позволяет использовать диапазоны так, как это, но, по-видимому, доступ к ним при попытке найти диапазон. Еще раз спасибо. –