Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/объединение данных с нескольких листов книги на один - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » объединение данных с нескольких листов книги на один (Макросы Sub)
объединение данных с нескольких листов книги на один
migo Дата: Среда, 10.07.2013, 13:39 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте!
Прошу Вашей помощи в решении следующей задачи:
есть книга эксель состоящая из 12 листов.
на каждом из этих листов находится данные, которые надо совместить на отдельном листе этой же книги. В идеале - чтоб при появлении в одном из листов новых данных, лист со сводной информацией мог обновляться.
Количество столбцов и их наименования в каждом листе совпадает, а кол-во строк всегда отличается.

Заранее благодарю!
К сообщению приложен файл: 2474640.xls(96.5 Kb)


Сообщение отредактировал migo - Среда, 10.07.2013, 13:39
 
Ответить
СообщениеЗдравствуйте!
Прошу Вашей помощи в решении следующей задачи:
есть книга эксель состоящая из 12 листов.
на каждом из этих листов находится данные, которые надо совместить на отдельном листе этой же книги. В идеале - чтоб при появлении в одном из листов новых данных, лист со сводной информацией мог обновляться.
Количество столбцов и их наименования в каждом листе совпадает, а кол-во строк всегда отличается.

Заранее благодарю!

Автор - migo
Дата добавления - 10.07.2013 в 13:39
KuklP Дата: Среда, 10.07.2013, 18:08 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
?
К сообщению приложен файл: 4869678.gif(32.1 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Среда, 10.07.2013, 18:09
 
Ответить
Сообщение?

Автор - KuklP
Дата добавления - 10.07.2013 в 18:08
migo Дата: Четверг, 11.07.2013, 07:44 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Спасибо, не знал про эту функцию. Но к сожалению это, похоже, не то что нужно.
Если строить сводную таблицу таким образом, то она получается вертикально - ориентированной.
В "списке полей для добавления в отчет" сводной таблицы нет возможности выбрать отдельные столбцы исходного диапазона данных.

А мне нужна возможность в поле "название строк" указывать несколько названий столбцов исходной таблицы.


Сообщение отредактировал migo - Четверг, 11.07.2013, 07:48
 
Ответить
СообщениеСпасибо, не знал про эту функцию. Но к сожалению это, похоже, не то что нужно.
Если строить сводную таблицу таким образом, то она получается вертикально - ориентированной.
В "списке полей для добавления в отчет" сводной таблицы нет возможности выбрать отдельные столбцы исходного диапазона данных.

А мне нужна возможность в поле "название строк" указывать несколько названий столбцов исходной таблицы.

Автор - migo
Дата добавления - 11.07.2013 в 07:44
KuklP Дата: Четверг, 11.07.2013, 08:21 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Может так(жмем кнопку)?
[vba]
Код
Sub www()
     Dim ws As Worksheet, l&
     With Sheets("Svod")
         .UsedRange.Offset(1).ClearContents
         For Each ws In Worksheets
             If Not ws.Name = "Svod" Then
                 l = .Cells.Find("*", [a1], xlFormulas, 1, 1, 2).Row + 1
                 ws.UsedRange.Offset(1).Copy .Range("a" & l)
             End If
         Next
     End With
End Sub
[/vba]
К сообщению приложен файл: 2474640.rar(21.1 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 11.07.2013, 08:23
 
Ответить
СообщениеМожет так(жмем кнопку)?
[vba]
Код
Sub www()
     Dim ws As Worksheet, l&
     With Sheets("Svod")
         .UsedRange.Offset(1).ClearContents
         For Each ws In Worksheets
             If Not ws.Name = "Svod" Then
                 l = .Cells.Find("*", [a1], xlFormulas, 1, 1, 2).Row + 1
                 ws.UsedRange.Offset(1).Copy .Range("a" & l)
             End If
         Next
     End With
End Sub
[/vba]

Автор - KuklP
Дата добавления - 11.07.2013 в 08:21
migo Дата: Четверг, 11.07.2013, 11:28 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Да, то что надо! я именно так и хотел thumb спасибо!!

Я правильно понял, чтоб сделать такой же макрос в моем файле, состоящем из 9 страниц, я должен изменить только эту строку?

l = .Cells.Find("*", [a1], xlFormulas, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9).Row + 1
или еще что-то?


Сообщение отредактировал migo - Четверг, 11.07.2013, 11:29
 
Ответить
СообщениеДа, то что надо! я именно так и хотел thumb спасибо!!

Я правильно понял, чтоб сделать такой же макрос в моем файле, состоящем из 9 страниц, я должен изменить только эту строку?

l = .Cells.Find("*", [a1], xlFormulas, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9).Row + 1
или еще что-то?

Автор - migo
Дата добавления - 11.07.2013 в 11:28
Poltava Дата: Четверг, 11.07.2013, 13:18 | Сообщение № 6
Группа: Друзья
Ранг: Форумчанин
Сообщений: 232
Репутация: 50 ±
Замечаний: 0% ±

Неправильно поняли! ничего менять не надо! макрос сам перебирает все листы в книге будь их там 3, 5 или 10


Сообщение отредактировал Poltava - Четверг, 11.07.2013, 13:19
 
Ответить
СообщениеНеправильно поняли! ничего менять не надо! макрос сам перебирает все листы в книге будь их там 3, 5 или 10

Автор - Poltava
Дата добавления - 11.07.2013 в 13:18
KuklP Дата: Четверг, 11.07.2013, 21:19 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
ничего менять не надо!
Все верно smile


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
ничего менять не надо!
Все верно smile

Автор - KuklP
Дата добавления - 11.07.2013 в 21:19
migo Дата: Пятница, 12.07.2013, 07:14 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Все сработало, спасибо еще раз!!


Сообщение отредактировал migo - Пятница, 12.07.2013, 07:47
 
Ответить
СообщениеВсе сработало, спасибо еще раз!!

Автор - migo
Дата добавления - 12.07.2013 в 07:14
Матрёна Дата: Пятница, 12.07.2013, 10:16 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

migo!
См. вариант.
Я - не программист и с законами программирования в объектно-ориентированных средах не знакома, поэтому мой алгоритм тривиален и в нем есть элемент "ущербности" - для подсчета строк на листах он требует наличия столба "без дыр".
В Вашем примере я добавила столб А в таблицах на всех листах.
К сообщению приложен файл: migo.rar(20.4 Kb)
 
Ответить
Сообщениеmigo!
См. вариант.
Я - не программист и с законами программирования в объектно-ориентированных средах не знакома, поэтому мой алгоритм тривиален и в нем есть элемент "ущербности" - для подсчета строк на листах он требует наличия столба "без дыр".
В Вашем примере я добавила столб А в таблицах на всех листах.

Автор - Матрёна
Дата добавления - 12.07.2013 в 10:16
florenus Дата: Вторник, 01.04.2014, 13:41 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
KuklP, не могли бы Вы расшифровать макрос?
 
Ответить
СообщениеKuklP, не могли бы Вы расшифровать макрос?

Автор - florenus
Дата добавления - 01.04.2014 в 13:41
KuklP Дата: Вторник, 01.04.2014, 22:20 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Он не зашифрован.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеОн не зашифрован.

Автор - KuklP
Дата добавления - 01.04.2014 в 22:20
florenus Дата: Среда, 02.04.2014, 17:08 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
KuklP, извините не правильно выразился. Вы не могли бы расписать какая команда что выполняет.
Если не трудно конечно. Мне нужно, чтобы листы собирались не со второй строки а с первой.
 
Ответить
СообщениеKuklP, извините не правильно выразился. Вы не могли бы расписать какая команда что выполняет.
Если не трудно конечно. Мне нужно, чтобы листы собирались не со второй строки а с первой.

Автор - florenus
Дата добавления - 02.04.2014 в 17:08
_Boroda_ Дата: Среда, 02.04.2014, 17:23 | Сообщение № 13
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15946
Репутация: 6201 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
.Offset(1) сотрите


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение.Offset(1) сотрите

Автор - _Boroda_
Дата добавления - 02.04.2014 в 17:23
Aliya Дата: Пятница, 29.08.2014, 14:19 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здр-те


Yasmin
 
Ответить
СообщениеЗдр-те

Автор - Aliya
Дата добавления - 29.08.2014 в 14:19
Aliya Дата: Пятница, 29.08.2014, 14:30 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
у меня вопрос. Мне понравился очень ваш макрос. У меня имеется файл с несколькими страницами. В каждом листе примерно 5000 строк. И когда я применяю ваш макрос, то он очень долго думает. Вопрос: Почему так. Может быть я неправильно применяю макрос или это зависит от количества данных в файле. Помогите пож.
[moder]Читаем Правила форума, создаём свою тему, прикладываем файл с примером. Эта тема закрыта[/moder]


Yasmin
 
Ответить
Сообщениеу меня вопрос. Мне понравился очень ваш макрос. У меня имеется файл с несколькими страницами. В каждом листе примерно 5000 строк. И когда я применяю ваш макрос, то он очень долго думает. Вопрос: Почему так. Может быть я неправильно применяю макрос или это зависит от количества данных в файле. Помогите пож.
[moder]Читаем Правила форума, создаём свою тему, прикладываем файл с примером. Эта тема закрыта[/moder]

Автор - Aliya
Дата добавления - 29.08.2014 в 14:30
Мир MS Excel » Вопросы и решения » Вопросы по VBA » объединение данных с нескольких листов книги на один (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2020 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!