Страница 1 из 1

Копирование данных из разных файлов по соответствующим листам

Добавлено: 18 май 2009, 15:41
kto_tut
Уважаемые, помогите советом!
Есть два файла с разным количеством листов, но при этом в обоих файлах есть листы с именами с 1 по 200. Как сделать так, чтобы сначала шло сравнение по наименованию листов, а потом осуществлялось копирование диапазона по соответствующим листам из одного файла в другой?

Re: Копирование данных из разных файлов по соответствующим листам

Добавлено: 18 май 2009, 20:06
Teslenko_EA
Здравствуйте kto_tut.
имена листов в двух книгах Вам поможет сравнить подобный код:

Код: Выделить всё

Dim oW0 As Workbook, oW1 As Workbook
Dim oSh0 As Object, oSh1 As Object

Set oW0 = Workbooks("Книга1.xls")
Set oW1 = Workbooks("Книга2.xls")
For Each oSh0 In oW0.Sheets
    For Each oSh1 In oW1.Sheets
        If oSh0.Name = oSh1.Name Then
           'процедура копирования
        End If
    Next
Next
...
Евгений.

Re: Копирование данных из разных файлов по соответствующим листам

Добавлено: 19 май 2009, 14:03
kto_tut
Евгений, спасибо Вам огромное!
Не поможете мне еще одним ответом? )

в процедуре при копировании/вставке возникает ошибка несоответствия типов, а где именно никак не могу понять:

Dim twbname As Workbook, awbname As Workbook
Dim tshname As Object, ashname As Object

Set twbname = Application.ThisWorkbook
Set awbname = Application.ActiveWorkbook

For Each tshname In twbname.Sheets
For Each ashname In awbname.Sheets
If tshname.Name = ashname.Name Then
Workbooks(twbname).Worksheets(tshname).Range("C3:C61").Copy _
Workbooks(awbname).Worksheets(ashname).Range("C6") ' в этом месте выдает ошибку о несоответствии типов
End If
Next
Next

Re: Копирование данных из разных файлов по соответствующим листам

Добавлено: 19 май 2009, 20:24
Teslenko_EA
Здравствуйте kto_tut.

Код: Выделить всё

...
        If tshname.Name = ashname.Name Then
            tshname.Range("C3:C 61").Copy [B]Destination:=[/B]tshname.Range("C6")
        End If
...
цикл уже обращается к объекту, и потому явное обращение к объекту по имени избыточно
Евгений.
P.S. помещайте Ваш код для удобочитаемости в тэги [соde]... ...[/соde]

Re: Копирование данных из разных файлов по соответствующим листам

Добавлено: 20 май 2009, 11:19
kto_tut
СПАСИБКИ ВАМ ОГРОМНОЕ!!! ))) все работает!!! ура ура!! )))