MaximuS G
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 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 |
| Всего записей: 113 | Зарегистр. 15-08-2008 | Отправлено: 09:38 18-09-2008 | Исправлено: MaximuS G, 17:15 18-09-2008 |
|