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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 212»
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » автокопирование строк с нескольких листов на один лист (Сводные таблицы/Pivot Table)
автокопирование строк с нескольких листов на один лист
serega26 Дата: Четверг, 15.09.2016, 12:42 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Помогите пожалуйста. Есть 20 листов с информацией, нужно что бы при вводе новой информации в любой лист, она(инфо) автоматически копировалась на 21 лист с учетом фильтрации по дате. 21 лист что был сборником всей инфы с 20 листов. Вся инфо представлена в виде одной строки и 7 ячеек.
К сообщению приложен файл: 222.xls(34Kb)
 
Ответить
СообщениеПомогите пожалуйста. Есть 20 листов с информацией, нужно что бы при вводе новой информации в любой лист, она(инфо) автоматически копировалась на 21 лист с учетом фильтрации по дате. 21 лист что был сборником всей инфы с 20 листов. Вся инфо представлена в виде одной строки и 7 ячеек.

Автор - serega26
Дата добавления - 15.09.2016 в 12:42
Pelena Дата: Четверг, 15.09.2016, 14:05 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Поясните, что означает
с учетом фильтрации по дате
?


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеПоясните, что означает
с учетом фильтрации по дате
?

Автор - Pelena
Дата добавления - 15.09.2016 в 14:05
serega26 Дата: Четверг, 15.09.2016, 14:09 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
т.е. что бы сортировалось по дате, на возростание.
 
Ответить
Сообщениет.е. что бы сортировалось по дате, на возростание.

Автор - serega26
Дата добавления - 15.09.2016 в 14:09
Karataev Дата: Четверг, 15.09.2016, 14:23 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
Вся инфо представлена в виде одной строки и 7 ячеек.

На одном листе будет только одна строка с данными в строке 2? Почему 7 ячеек, как Вы подсчитали?


 
Ответить
Сообщение
Вся инфо представлена в виде одной строки и 7 ячеек.

На одном листе будет только одна строка с данными в строке 2? Почему 7 ячеек, как Вы подсчитали?

Автор - Karataev
Дата добавления - 15.09.2016 в 14:23
Pelena Дата: Четверг, 15.09.2016, 14:24 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Проверьте такой вариант. Таблица формируется макросом при активации листа 21.
В коде написала, что надо исправить при внедрении макроса в реальный файл с 21-м листом
Сделала более универсальный вариант.
Файл перевложила
К сообщению приложен файл: 2927603.xls(52Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816


Сообщение отредактировал Pelena - Четверг, 15.09.2016, 14:28
 
Ответить
СообщениеПроверьте такой вариант. Таблица формируется макросом при активации листа 21.
В коде написала, что надо исправить при внедрении макроса в реальный файл с 21-м листом
Сделала более универсальный вариант.
Файл перевложила

Автор - Pelena
Дата добавления - 15.09.2016 в 14:24
serega26 Дата: Четверг, 15.09.2016, 14:28 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
На каждом листе данные будут добовляться, и эти данные должны автоматически копироваться на 21 лист.
 
Ответить
СообщениеНа каждом листе данные будут добовляться, и эти данные должны автоматически копироваться на 21 лист.

Автор - serega26
Дата добавления - 15.09.2016 в 14:28
Pelena Дата: Четверг, 15.09.2016, 14:31 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
данные будут добовляться
Вы попробовали добавить?

должны автоматически копироваться на 21 лист
Не копируются?

Что не так?
[p.s.]Макросы должны быть разрешены[/p.s.]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
данные будут добовляться
Вы попробовали добавить?

должны автоматически копироваться на 21 лист
Не копируются?

Что не так?
[p.s.]Макросы должны быть разрешены[/p.s.]

Автор - Pelena
Дата добавления - 15.09.2016 в 14:31
serega26 Дата: Четверг, 15.09.2016, 14:37 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Все получилось. Все так. Только вопрос такой, а как сделать так что бы макрос считал данные только с этих 21 листов?что бы с других листов не считал инфо.
 
Ответить
СообщениеВсе получилось. Все так. Только вопрос такой, а как сделать так что бы макрос считал данные только с этих 21 листов?что бы с других листов не считал инфо.

Автор - serega26
Дата добавления - 15.09.2016 в 14:37
Pelena Дата: Четверг, 15.09.2016, 14:40 | Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Листы имеют именно такие названия 1, 2, ..., 20?


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЛисты имеют именно такие названия 1, 2, ..., 20?

Автор - Pelena
Дата добавления - 15.09.2016 в 14:40
serega26 Дата: Четверг, 15.09.2016, 14:44 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
нет. вот такие- 01,02,03,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38
 
Ответить
Сообщениенет. вот такие- 01,02,03,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38

Автор - serega26
Дата добавления - 15.09.2016 в 14:44
Pelena Дата: Четверг, 15.09.2016, 14:48 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
А, может, они находятся всегда в начале книги? То есть первые 21 листов. Нет?


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеА, может, они находятся всегда в начале книги? То есть первые 21 листов. Нет?

Автор - Pelena
Дата добавления - 15.09.2016 в 14:48
serega26 Дата: Четверг, 15.09.2016, 14:50 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
да, это первые листы
 
Ответить
Сообщениеда, это первые листы

Автор - serega26
Дата добавления - 15.09.2016 в 14:50
Pelena Дата: Четверг, 15.09.2016, 14:54 | Сообщение № 13
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Тогда так попробуйте
[vba]
Код
Public Sub Worksheet_Activate()
    Dim rng As Range, i&, lrow&
    Application.ScreenUpdating = False
    Set rng = ActiveSheet.UsedRange
    rng.Offset(1).Resize(rng.Rows.Count - 1).ClearContents
    For i = 1 To 20
        lrow = Sheets(21).Cells(Rows.Count, 1).End(xlUp).Row + 1
        With Sheets(i)
            .Range("A2:H" & .Cells(Rows.Count, 1).End(xlUp).Row).Copy Sheets(21).Range("A" & lrow)
        End With
    Next i
    With Sheets(21)
        lrow = .Cells(Rows.Count, 1).End(xlUp).Row
        .Range("A1").Select
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
            .SetRange Range("A2:H" & lrow)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеТогда так попробуйте
[vba]
Код
Public Sub Worksheet_Activate()
    Dim rng As Range, i&, lrow&
    Application.ScreenUpdating = False
    Set rng = ActiveSheet.UsedRange
    rng.Offset(1).Resize(rng.Rows.Count - 1).ClearContents
    For i = 1 To 20
        lrow = Sheets(21).Cells(Rows.Count, 1).End(xlUp).Row + 1
        With Sheets(i)
            .Range("A2:H" & .Cells(Rows.Count, 1).End(xlUp).Row).Copy Sheets(21).Range("A" & lrow)
        End With
    Next i
    With Sheets(21)
        lrow = .Cells(Rows.Count, 1).End(xlUp).Row
        .Range("A1").Select
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
            .SetRange Range("A2:H" & lrow)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Pelena
Дата добавления - 15.09.2016 в 14:54
serega26 Дата: Четверг, 15.09.2016, 14:56 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А что с этим делать?я макросы плохо знаю, можно готовый файл
 
Ответить
СообщениеА что с этим делать?я макросы плохо знаю, можно готовый файл

Автор - serega26
Дата добавления - 15.09.2016 в 14:56
Pelena Дата: Четверг, 15.09.2016, 14:59 | Сообщение № 15
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
У меня же нет Вашего файла с 20-ю листами.
Правой кнопкой мыши по ярлыку 21-го листа -- Исходный текст -- скопируйте в открывшееся окно текст макроса из предыдущего сообщения


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеУ меня же нет Вашего файла с 20-ю листами.
Правой кнопкой мыши по ярлыку 21-го листа -- Исходный текст -- скопируйте в открывшееся окно текст макроса из предыдущего сообщения

Автор - Pelena
Дата добавления - 15.09.2016 в 14:59
serega26 Дата: Четверг, 15.09.2016, 14:59 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
а если потребуется столбцы добавить на все листы, этот макрос будет считать?
 
Ответить
Сообщениеа если потребуется столбцы добавить на все листы, этот макрос будет считать?

Автор - serega26
Дата добавления - 15.09.2016 в 14:59
serega26 Дата: Четверг, 15.09.2016, 15:01 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
скопировал, а дальше что?
 
Ответить
Сообщениескопировал, а дальше что?

Автор - serega26
Дата добавления - 15.09.2016 в 15:01
Pelena Дата: Четверг, 15.09.2016, 15:12 | Сообщение № 18
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Дальше при переходе на 21 лист должна сформироваться таблица.
Для произвольного количества столбцов
[vba]
Код
Public Sub Worksheet_Activate()
    Dim rng As Range, i&, lrow&, lcol&
    Application.ScreenUpdating = False
    Set rng = ActiveSheet.UsedRange
    rng.Offset(1).Resize(rng.Rows.Count - 1).ClearContents
    lcol = Sheets(21).Cells(1, Columns.Count).End(xlToLeft).Column
    For i = 1 To 20
        lrow = Sheets(21).Cells(Rows.Count, 1).End(xlUp).Row + 1
        With Sheets(i)
            .Range("A2").Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 1, lcol).Copy Sheets(21).Range("A" & lrow)
        End With
    Next i
    With Sheets(21)
        lrow = .Cells(Rows.Count, 1).End(xlUp).Row
        .Range("A1").Select
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
            .SetRange Range("A2").Resize(lrow, lcol)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеДальше при переходе на 21 лист должна сформироваться таблица.
Для произвольного количества столбцов
[vba]
Код
Public Sub Worksheet_Activate()
    Dim rng As Range, i&, lrow&, lcol&
    Application.ScreenUpdating = False
    Set rng = ActiveSheet.UsedRange
    rng.Offset(1).Resize(rng.Rows.Count - 1).ClearContents
    lcol = Sheets(21).Cells(1, Columns.Count).End(xlToLeft).Column
    For i = 1 To 20
        lrow = Sheets(21).Cells(Rows.Count, 1).End(xlUp).Row + 1
        With Sheets(i)
            .Range("A2").Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 1, lcol).Copy Sheets(21).Range("A" & lrow)
        End With
    Next i
    With Sheets(21)
        lrow = .Cells(Rows.Count, 1).End(xlUp).Row
        .Range("A1").Select
        With .Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
            .SetRange Range("A2").Resize(lrow, lcol)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Pelena
Дата добавления - 15.09.2016 в 15:12
serega26 Дата: Четверг, 15.09.2016, 15:15 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
я имею ввиду, что скопировал я в исходный текст код, а как дальше сохранить?
 
Ответить
Сообщениея имею ввиду, что скопировал я в исходный текст код, а как дальше сохранить?

Автор - serega26
Дата добавления - 15.09.2016 в 15:15
Pelena Дата: Четверг, 15.09.2016, 15:28 | Сообщение № 20
Группа: Модераторы
Ранг: Экселист
Сообщений: 9839
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Вы не знаете, как сохраняется файл?
Если файл, как в примере, в формате xls, то просто нажмите кнопку Сохранить.
Если в более новом формате, то Файл -- Сохранить как -- в поле Тип файла выберите Файл с поддержкой макросов .xlsm -- Сохранить


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеВы не знаете, как сохраняется файл?
Если файл, как в примере, в формате xls, то просто нажмите кнопку Сохранить.
Если в более новом формате, то Файл -- Сохранить как -- в поле Тип файла выберите Файл с поддержкой макросов .xlsm -- Сохранить

Автор - Pelena
Дата добавления - 15.09.2016 в 15:28
Мир MS Excel » Вопросы и решения » Вопросы по Excel » автокопирование строк с нескольких листов на один лист (Сводные таблицы/Pivot Table)
Страница 1 из 212»
Поиск:

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