Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2011, 15:40   #1
den_irk
Новичок
Джуниор
 
Регистрация: 29.06.2011
Сообщений: 1
По умолчанию Копирование таблиц...

Добрый день.

Задача стоит такая, заранее благодарю за любую помощь, если что с меня пиво...
В файле(файлах) xls разное кол-во листов, на листах одинаковая таблица с равным кол-вом столбцов, но разным кол-вом строк, необходимо на новом листе(файле) сформировать таблицу в которую скопировать данные таблиц одно под другим, ну и соответственно пронумеровать по порядку, форматирование оставить такое же как в донорских таблицах. Пример файла во вложении. Как бы этот процесс автоматизировать?
Вложения
Тип файла: rar test.rar (7.1 Кб, 10 просмотров)
den_irk вне форума Ответить с цитированием
Старый 29.06.2011, 19:14   #2
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от den_irk Посмотреть сообщение
Пример файла во вложении. Как бы этот процесс автоматизировать?
Попробуй это.
Вложения
Тип файла: rar test.rar (11.1 Кб, 33 просмотров)
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 29.06.2011, 21:24   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Такой вариант с сохранением формата:
Код:
Sub MyPivot()
    Dim sh As Worksheet, n&, tbl As Range
    Application.DisplayAlerts = False
    On Error Resume Next
    Worksheets("Svod").Delete
    Set sh = Worksheets.Add(, Sheets(Sheets.Count))
    sh.Name = "Svod"
    For n = 1 To Worksheets.Count - 1
    Set tbl = Worksheets(n).[a1].CurrentRegion
        If n = 1 Then
            tbl.Copy sh.[a1]
        Else
                 tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Copy _
                 sh.Cells(sh.[a1].End(xlDown).Row + 1, 1)
        End If
    Next n
    Range(sh.[a2], sh.[a1].End(xlDown)).FormulaR1C1 = "=ROW()-1"
    Application.DisplayAlerts = True
End Sub
Еще вариант, если лист удалять не нужно см. вложение.
Вложения
Тип файла: rar test.rar (13.8 Кб, 9 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 29.06.2011 в 21:34.
kuklp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование таблиц i777 Microsoft Office Excel 2 23.02.2011 22:32
Копирование заголовка дин.Таблиц konistra Microsoft Office Excel 6 03.06.2010 18:50
Копирование данных DBF таблиц ИВэТэшка БД в Delphi 1 20.03.2009 21:06
копирование таблиц надо решение на ВБА kievlyanin Microsoft Office Excel 36 13.05.2008 10:47