Новости:

Прикрепить к сообщению можно только файлы xls, gif, jpg, rar, zip,7z, bas, frm, cls, doc размером до 150 Кб.

Главное меню

Копирование определенных данных из нескольких таблиц в одну

Автор ekunevich, 28.08.2012, 12:51

« назад - далее »

ekunevich

Доброго времени суток. Передо мной стоит задача: есть книга, в которой содержится N-ное количество листов, на каждом листе находится таблица. В каждой из этих таблиц содержатся свои данные, но несколько столбцов совпадают по смыслу: A - Наименование, B - Единица измерения, V - Количество с учетом остатков. Имеется итоговая таблица, в которую должны заливаться эти столбцы из всех других таблиц. Есть условия: т. к. уже имиеющиеся таблицы заполняют разные люди, то в итоговой таблице данные из разных таблиц должны быть как-то разделены; также если любой из пользователей добавляет новую строку в свою таблицу, то эта строка должна автоматически появляться в итоговой таблице аналогично строке в исходной. Если кто-то сможет помочь, буду очень признательна. Если что-то не совсем понятно изложила, спросите, попытаюсь дать более понятный ответ. Спасибо.

kuklp

Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

sergo44441

Решение затруднят:
а) разные форматы исходных листов
б) совершенно непонятно, к каким столбцам итогов отнсятся какие столбцы из исходника
Не торопись, и все успеешь намного быстрее

ekunevich

Цитата: sergo44441 от 29.08.2012, 04:26
Решение затруднят:
а) разные форматы исходных листов
б) совершенно непонятно, к каким столбцам итогов отнсятся какие столбцы из исходника

Пункт б) итоговая таблица A - Наименование: A - Наименование из всех исходных таблиц
             итоговая таблица F - Ед.изм.: B - Ед.изм. из всех исходных таблиц
             итоговая таблица  G - Количество: V - Количество из всех исходных таблиц

ekunevich

Цитата: ekunevich от 29.08.2012, 09:24
Цитата: sergo44441 от 29.08.2012, 04:26
Решение затруднят:
а) разные форматы исходных листов
б) совершенно непонятно, к каким столбцам итогов отнсятся какие столбцы из исходника

Пункт б) итоговая таблица A - Наименование: A - Наименование из всех исходных таблиц
             итоговая таблица F - Ед.изм.: B - Ед.изм. из всех исходных таблиц
             итоговая таблица  G - Количество: V - Количество из всех исходных таблиц


sergo44441

сначала не совсем понял, сейчас детальнее посмотрел файлик - все не так страшно. Смущают поля с ценами на итоговом листе. они, видимо, единые для всех?
Не торопись, и все успеешь намного быстрее

alex77755

Sub Выборка()
Dim Lr, R, Ld
Dim SH As Worksheet
Dim Si As Worksheet
Set Si = Worksheets("итоговая таблица")
Si.Rows("4:50000").ClearContents
Si.Rows("4:50000").Font.Bold = False
    For Each SH In ActiveWorkbook.Worksheets
    Debug.Print SH.Name
        If SH.Name <> "итоговая таблица" Then
       
            With SH
            Lr = .Cells(Rows.Count, 1).End(xlUp).Row
            Ld = Si.Cells(Rows.Count, 1).End(xlUp).Row + 2
                Si.Cells(Ld, 1) = SH.Name
                Si.Cells(Ld, 1).Font.Bold = True
                For R = 5 To Lr
                Ld = Ld + 1
                Si.Cells(Ld, 1).Value = .Cells(R, 1).Value
                Si.Cells(Ld, 6).Value = .Cells(R, 2).Value
                Si.Cells(Ld, 7).Value = .Cells(R, 22).Value
                Next R
            End With
        End If
    Next
    MsgBox "Ok", 64, ""
End Sub
Могу помочь VB6, VBA
Alex77755@mail.ru

ekunevich

Цитата: sergo44441 от 30.08.2012, 19:33
сначала не совсем понял, сейчас детальнее посмотрел файлик - все не так страшно. Смущают поля с ценами на итоговом листе. они, видимо, единые для всех?

Про цены мне пока никакой информации не давали, за скрипт спасибо, все работает, очень выручили

ekunevich

Скажите, пожалуйста, а можно ли сделать так, чтобы приведенный выше макрос выполнялся при каждом изменении на любом из листов, кроме итогового?

Poltava

вставьте в стандартный модуль а в модуле листа по по нужному событию назначте вызов для изменения листа это событие Change
Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.