M
Magus
Здравствуйте!
Помогите разобраться
Столкнулся на работе с задачей, требующей много времени. Решил автоматизировать и запутался. Суть в следующем.
Файл Excel содержит около 30 листов, из которых один рабочий- в него нужно копировать данные с остальных листов. Каждый лист содержит одну и ту же таблицу с одинаковой шапкой, находящейся в столбиках "A:K"
Каждая таблица содержит до 100 строчек (первая строчка данных каждой таблицы начинается с 3 строчки листа Excel, во второй строчке- шапка)
Пытаюсь написать программу, которая бы копировала все таблицы на первый рабочий лист в столбики "A:K", начиная с 3 строки
Вроде не сложно, а не получается, занимаюсь программиванием в Excel совсем недавно.
Начал я так
Public Sub total()
Dim ws As Worksheet
Dim number As Integer
Dim i, j As Integer
i = 3
j = 102
For Each ws In Sheets
number = number + 1
Next ws
Дальше нужно, чтобы программа проходила от листа 2 до последнего(number), а как это задать- не могу понять. Пробовал представить рабочие листы в виде массива, получилась настоящая ерунда
Конец программы как-будто понятен.
worksheets(number).Rows("3:100").copy
workSheets(1).Rows("i:j").Select
workSheets(1).Rows("i:j").Paste
i = i + 100
j = j + 100
Next number
End Sub
Заранее благодарен
Помогите разобраться
Столкнулся на работе с задачей, требующей много времени. Решил автоматизировать и запутался. Суть в следующем.
Файл Excel содержит около 30 листов, из которых один рабочий- в него нужно копировать данные с остальных листов. Каждый лист содержит одну и ту же таблицу с одинаковой шапкой, находящейся в столбиках "A:K"
Каждая таблица содержит до 100 строчек (первая строчка данных каждой таблицы начинается с 3 строчки листа Excel, во второй строчке- шапка)
Пытаюсь написать программу, которая бы копировала все таблицы на первый рабочий лист в столбики "A:K", начиная с 3 строки
Вроде не сложно, а не получается, занимаюсь программиванием в Excel совсем недавно.
Начал я так
Public Sub total()
Dim ws As Worksheet
Dim number As Integer
Dim i, j As Integer
i = 3
j = 102
For Each ws In Sheets
number = number + 1
Next ws
Дальше нужно, чтобы программа проходила от листа 2 до последнего(number), а как это задать- не могу понять. Пробовал представить рабочие листы в виде массива, получилась настоящая ерунда
Конец программы как-будто понятен.
worksheets(number).Rows("3:100").copy
workSheets(1).Rows("i:j").Select
workSheets(1).Rows("i:j").Paste
i = i + 100
j = j + 100
Next number
End Sub
Заранее благодарен