WowGun Цитата: Dim Arr(1 To 12) и For row = 7 To 19
Не пойму, так что здесь не так ?
Ведь в массив Arr(i) = Cells(row, 3).Value записуется значение ячейки под номера переменной i , а она и будет от 1 до 12, 19-7 = 12 ???
Если не тяжело объясните, потому что раньше все получалось
Добавлено: mic21 Вот код, хотя не понимаю, неужиле так сложно открыть 6 книг и просто копировать
Он получаеться достаточно длинный, может быть кто то найдет способ сократить...
Код: Sub copyTest()
Dim CheckRows, CheckRowsT As String
ChDir "C:\Documents and Settings\.." ' так вам надо будет записать 6 раз,
Workbooks.Open Filename:= _ каждый раз меняя название книги
"C:\Documents and Settings\...\1_файл.xls" все книги будут открыты сразу
Windows("1_файл.xls").Activate 'активируем первую и лист
Sheets("Лист3").Activate
For i = 2 To 100 'находим последннюю строчку
If Cells(i, 2) = "" Then
CheckRows = i - 1
Exit For
End If
Next
Range(Cells(2, 1), Cells(CheckRows, 4)).Copy 'копируем
Windows("Итоги.xls").Activate 'вставляем
Sheets("Лист3").Activate
Range("A2").Select
ActiveSheet.Paste
Windows("1_файл.xls").Activate 'это по желанию, можна
ActiveWorkbook.Close закрыть книгу с которой копи
Windows("2_файл.xls").Activate 'теперь все тоже самое по
Sheets("Лист3").Activate 'по остальным
For i = 2 To 100
If Cells(i, 2) = "" Then
CheckRows = i - 1
Exit For
End If
Next
Range(Cells(2, 1), Cells(CheckRows, 4)).Copy
Windows("Итоги.xls").Activate
Sheets("Лист3").Activate
For i = 2 To 100
If Cells(i, 2) = "" Then
CheckRowsT = i
Exit For
End If
Next
Range("A" + CheckRowsT).Select
ActiveSheet.Paste
... ну до конца уже допишите сами, все одинаково, только меняйте название книг
End Sub