Страницы: 1
RSS
Ошибка работы макроса (на разных компьютерах) при выполнении переноса данных
 
Добрый день.
Подскажите, пожалуйста, из-за чего возникает конфликт между макросом и Excel?
Версия Excel 2016 и 2013. На одних компьютерах макрос работает чётко, а на других выдаёт ошибку: "Внешняя таблица не имеет предполагаемый формат".
Библиотеки проверил, везде совпадают. Что ещё может быть?  
 
Тут явный конфликт названия темы с правилами форума.

yal,  Файл с примером будет?
По вопросам из тем форума, личку не читаю.
 
Цитата
yal написал:
конфликт между макросом и Excel
Ето как? сам с собой ексель конфликтует?
А мы здесь маги и волшебники должны понять об етом конфликте на основе етого?
Цитата
yal написал:
На одних компьютерах макрос работает чётко, а на других выдаёт ошибку
 
 
Доброго дня. Скажите ведь до этого вы сразу задавали вопросы с кодом макроса, с примерами, что сегодня случилось?
Сегодня прямо день экстрасенса, вообще никто примеров прикладывать не желает.
Изменено: PooHkrd - 29.08.2018 13:24:29
Вот горшок пустой, он предмет простой...
 
Код
Sub Îáíîâëåíèå_ëèñòîâ()

Application.Calculation = xlManual

Sheets("Ïîæåëàíèÿ-ïðåäëîæåíèÿ").Select

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Flex"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AP500]"

rs.Open strSQL1, cn
Worksheets("Flex").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Petlar"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AP500]"

rs.Open strSQL1, cn
Worksheets("Petlar").Range("A2").CopyFromRecordset rs
rs.Close

strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Áèàêñïëåí"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AP500]"

rs.Open strSQL1, cn
Worksheets("Áèàêñïëåí").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Jindal"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AQ500]"

rs.Open strSQL1, cn
Worksheets("Jindal").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Tagleef"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AQ500]"

rs.Open strSQL1, cn
Worksheets("Tagleef").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Treofan"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AQ500]"

rs.Open strSQL1, cn
Worksheets("Treofan").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "ÑÐÐ shur"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AP500]"

rs.Open strSQL1, cn
Worksheets("ÑÐÐ shur").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "ÑÐÐ Flex"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AT500]"

rs.Open strSQL1, cn
Worksheets("ÑÐÐ Flex").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "CarWare"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AP500]"

rs.Open strSQL1, cn
Worksheets("CarWare").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Symetal"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AN500]"

rs.Open strSQL1, cn
Worksheets("Symetal").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Assan"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AO500]"

rs.Open strSQL1, cn
Worksheets("Assan").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Shanghai"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AN500]"

rs.Open strSQL1, cn
Worksheets("Shanghai").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Effegidi"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AO500]"

rs.Open strSQL1, cn
Worksheets("Effegidi").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Qindaî"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AN500]"

rs.Open strSQL1, cn
Worksheets("Qindaî").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "ÀÏÒÒ-Èíâåñò"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AN500]"

rs.Open strSQL1, cn
Worksheets("ÀÏÒÒ-Èíâåñò").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "CNBM"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AD500]"

rs.Open strSQL1, cn
Worksheets("CNBM").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Hydro"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AD500]"

rs.Open strSQL1, cn
Worksheets("Hydro").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Dong-Il"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AO500]"

rs.Open strSQL1, cn
Worksheets("Dong-Il").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "8113"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AH500]"

rs.Open strSQL1, cn
Worksheets("8113").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "Henkel"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AG500]"

rs.Open strSQL1, cn
Worksheets("Henkel").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "ÔÏÔ"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:T500]"

rs.Open strSQL1, cn
Worksheets("ÔÏÔ").Range("A2").CopyFromRecordset rs
rs.Close


strFile = "\\Polymer2000\áàçû erp\Ñëóæáà Êà÷åñòâà\ÐÅÅÑÒÐÛ çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè\Ô-9-49 Ðååñòð çàáðàêîâàííîé ïîêóïíîé ïðîäóêöèè íà âñåõ ýòàïàõ ïðîèçâîäñòâà.xlsm"
strTableName = "3Ì"

strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL1 = "SELECT * FROM [" & strTableName & "$A2:AD500]"

rs.Open strSQL1, cn
Worksheets("3Ì").Range("A2").CopyFromRecordset rs
rs.Close

Sheets("Ïîæåëàíèÿ-ïðåäëîæåíèÿ").Select

Application.Calculation = xlAutomatic

End Sub



 
PooHkrd,Магнитные бури)))
 
проблема в етом Найдите пример подключения для вашего офиса
Код
Excel 12.0


 
Цитата
yal написал:
Магнитные бури)))
Ýòî âèäíî ,âîí êàê âàø òåêñò ïåðåêîñèëî.  что в переводе  - Это видно ,вон как ваш текст перекосило.
По вопросам из тем форума, личку не читаю.
 
ivanok_v2,Спасибо за совет, но у людей стоит тот же офис, что и у меня. У меня проблем с работой макроса нет.
 
БМВ,это текст на русском языке, наименования страниц и т.д.))).
 
Цитата
ivanok_v2 написал:
Excel 12.0
Коллега - и в чём проблема?
 
Андрей VG,Здравствуйте, На одних компьютерах макрос работает без проблем, а на других выдает ошибку: "Внешняя таблица не имеет предполагаемый формат".
 
Цитата
yal написал:
макрос работает без проблем, а на других выдает ошибку
Всё это с одним и тем же файлом?
 
Андрей VG, да, просто сделал ярлык и разместил на разных компьютерах. На одних работает, на других нет, библиотеки одинаковые...
 
Цитата
yal написал:
на других нет
На этих затыкается сразу на первой строчке? rs.Open. И к стати. Если вы грузите данные с нескольких листов одного и того же файла, то зачем каждый раз открывать (не закрывая) соединение и не закрывая курсор?
 
Андрей VG, выдаёт проблему на этом моменте - cn.Open strCon. И каждый раз на разном листе.
 

В начале простите ... не знаю почему это может так происходить (возможно потому, что вы постоянно открываете соединения "cn.Open strCon" и не закрываете их) ...

... но сократите свой код немножко, используя какой-то цикл, например 'For...Next'. У вас 22 почти одинаковых раздела/секции, так например можно бы:

("strTableName" i "rng" установлено по диапазонах ячеек)

Код
Option Explicit

Sub macro_macro() 'Îáíîâëaíea_ëenoîâ_1() ' ?

    Const strFile$ = "\\Polymer2000\áaçu erp\Nëóaáa Ea÷anoâa\?AANO?U çaá?aeîâaííîé iîeóiíîé i?îäóeöee\" & _
                        "Ô-9-49 ?aano? çaá?aeîâaííîé iîeóiíîé i?îäóeöee ía ânao ýoaiao i?îeçâîänoâa.xlsm"
    
    Dim strCon$: strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile & ";Extended Properties=""Excel 12.0;HDR=No;IMEX=1"";"
    
    Dim strTableName: strTableName = Array("ÔIÔ", "CNBM", "Hydro", "3I", "Henkel", "8113", "AIOO-Eíâano", "Qindaî", _
                            "Shanghai", "Symetal", "Assan", "Effegidi", "Dong-Il", "Áeaeniëaí", "CarWare", _
                            "Flex", "N?? shur", "Petlar", "Jindal", "Tagleef", "Treofan", "N?? Flex")
    
    Dim rng: rng = Array("$A2:T500", "$A2:AD500", "$A2:AD500", "$A2:AD500", "$A2:AG500", "$A2:AH500", "$A2:AN500", "$A2:AN500", _
                            "$A2:AN500", "$A2:AN500", "$A2:AO500", "$A2:AO500", "$A2:AO500", "$A2:AP500", "$A2:AP500", _
                            "$A2:AP500", "$A2:AP500", "$A2:AP500", "$A2:AQ500", "$A2:AQ500", "$A2:AQ500", "$A2:AT500")
                            
    Dim strSQL1$, i&, indx&: indx = UBound(strTableName)
    
    Dim cn As ADODB.Connection: Set cn = CreateObject("ADODB.Connection")
    Dim rs As ADODB.Recordset: Set rs = CreateObject("ADODB.Recordset")
    
    Application.Calculation = xlManual
    Sheets("Iîaaëaíey-i?aäëîaaíey").Activate
    
    cn.Open strCon
    
    For i = 0 To indx
        strSQL1 = "SELECT * FROM [" & strTableName(i) & rng(i) & "]"
        rs.Open strSQL1, cn
        Worksheets(strTableName(i)).Range("A2").CopyFromRecordset rs
        rs.Close
    Next
    
    Set rs = Nothing
    cn.Close: Set cn = Nothing
    
    Application.Calculation = xlAutomatic

End Sub

Это всего лишь пример, а не решение, не знаю, будет ли это работать или в космос полетит ... : /
Изменено: ocet p - 29.08.2018 18:59:48 (коррекция кода (Set rs = Nothing))
 
Цитата
БМВ написал:
вон как ваш текст перекосило
Цитата
yal написал:
это текст на русском языке
Код нужно копировать при русской раскладке клавиатуры.
 
ocet p,Спасибо за совет, попробую.
Юрий М,Спасибо, в следующий раз учту.
Страницы: 1
Наверх