powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сводная таблица Excel 2007: диапазон данных из нескольких листов?
15 сообщений из 15, страница 1 из 1
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36536411
etrofimov80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дано:
1. Excel 2007
2. данные на лист1
3. данные на лист2

Нужно: Сводная таблица по данным листа 1 и 2

Проблема: при выборе диапазона данных нет возможности выбрать данные из нескольких листов
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36536422
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
etrofimov80,

ну самое простое написать макрос который сначала собирает данные на один лист и с него собирать свод.
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36536579
etrofimov80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, данный навык пока не входит в список моих достижений

Но если можно сделать пример, который можно адаптировать к любым данным...

Может как-то облегчит задачку

Столбцы такие

лист1 (месяц1): код наименование продано(кол-во) продано(сумма)
лист2 (месяц2): код наименование продано(кол-во) продано(сумма)

Надо:

месяц 1 месяц1 месяц 2 месяц 2
код наименование продано(кол-во) продано(сумма) продано(кол-во) продано(сумма)
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36537251
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36537331
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
etrofimov80Excel 2007
Проблема: при выборе диапазона данных нет возможности выбрать данные из нескольких листовПКМ по ленте - настройка ПБД - все команды - Мастер сводных таблиц.
В первом шаге выбираем "в нескольких диапазонах консолидации".
Интерфейс мастера полностью аналогичен Excel 2003.
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36537786
etrofimov80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример. Сводная подходит, но не совсем
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36537969
-nail-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
etrofimov80,
предлагаю заставить заполнять в виде дата-код-количество-продажа...
и отдельно сделать справочник код-наименование)))
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36537976
-nail-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да ну сколько можно.... сплошные "сравнение двух списков"
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36538114
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
etrofimov80,
Ваша сводная у меня неполноценная какая-то (см.вложение)
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36538116
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36539671
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
etrofimov80К сожалению, данный навык пока не входит в список моих достижений

Но если можно сделать пример, который можно адаптировать к любым данным...

Может как-то облегчит задачку
Тут я приводил пример кода по сбору данных со всех листов одного файла на один лист другого файла.
В том коде правда не все переменные и их значения описаны, но общий смысл оттуда можно понять.
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36540335
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
etrofimov80Пример. Сводная подходит, но не совсем
Второй пост.
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36540337
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.planetaexcel.ru/forum.php?thread_id=14556
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36545098
etrofimov80
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задачу реализовали так:
PROFIT - название листов с месяцами
QTY - название листов с месяцами
FACT_PRICE -название листов с месяцами


код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
Sub StartFromButton()
    UserForm1.Show
End Sub

Sub main()
Application.ScreenUpdating = False

Dim wSheet As Worksheet
Dim ID, Articul, Name, Group, PodGroup, Production As String
Dim Quantity As Integer
Dim Fact, Zakup As Double

Dim c As Range
Dim Month As String
Dim mainBook, dataBook As String
Dim monthNum As Long

mainBook = ActiveWorkbook.Name
Workbooks.Open (UserForm1.TextBox1.Value)
dataBook = ActiveWorkbook.Name
sheetType = UserForm1.ComboBox1.Value

CurrRow =  2 
Workbooks(mainBook).Activate
Range("A3:IV65536").ClearContents
Columns("B:B").NumberFormat = "@"
monthNum =  0 

For Each wSheet In Workbooks(dataBook).Sheets
    If (Left(wSheet.Name,  6 ) = "PROFIT" And sheetType = "PROFIT") _
            Or (Left(wSheet.Name,  3 ) = "QTY" And sheetType = "QTY") _
            Or (Left(wSheet.Name,  10 ) = "FACT_PRICE" And sheetType = "FACT_PRICE") Then
        monthNum = monthNum +  1 
        UserForm1.Caption = "Processing...  " & Str(Round((monthNum -  1 ) /  12  *  100 )) & "%"
        Select Case sheetType
            Case "PROFIT"
                If Mid(wSheet.Name,  8 ,  1 ) >  1  Then
                    Month = Mid(wSheet.Name,  8 ,  1 )
                Else
                    Month = Mid(wSheet.Name,  8 ,  2 )
                    If Month = "1_" Then Month = Mid(wSheet.Name,  8 ,  1 )
                End If
            Case "QTY"
                If Mid(wSheet.Name,  5 ,  1 ) >  1  Then
                    Month = Mid(wSheet.Name,  5 ,  1 )
                Else
                    Month = Mid(wSheet.Name,  5 ,  2 )
                    If Month = "1_" Then Month = Mid(wSheet.Name,  5 ,  1 )
                End If
            Case "FACT_PRICE"
                If Mid(wSheet.Name,  12 ,  1 ) >  1  Then
                    Month = Mid(wSheet.Name,  12 ,  1 )
                Else
                    Month = Mid(wSheet.Name,  12 ,  2 )
                    If Month = "1_" Then Month = Mid(wSheet.Name,  12 ,  1 )
                End If
        End Select
                
        Select Case Month
            Case  1 
                CurrColumn =  8 
            Case  2 
                CurrColumn =  11 
            Case  3 
                CurrColumn =  14 
            Case  4 
                CurrColumn =  17 
            Case  5 
                CurrColumn =  20 
            Case  6 
                CurrColumn =  23 
            Case  7 
                CurrColumn =  26 
            Case  8 
                CurrColumn =  29 
            Case  9 
                CurrColumn =  32 
            Case  10 
                CurrColumn =  35 
            Case  11 
                CurrColumn =  38 
            Case  12 
                CurrColumn =  41 
        End Select
        
        i =  6 
        Do
            ID = wSheet.Cells(i,  2 ).Value
            Articul = wSheet.Cells(i,  3 ).Value
            Name = wSheet.Cells(i,  4 ).Value
            Group = wSheet.Cells(i,  5 ).Value
            PodGroup = wSheet.Cells(i,  6 ).Value
            Production = wSheet.Cells(i,  7 ).Value
            Quantity = wSheet.Cells(i,  8 ).Value
            Fact = wSheet.Cells(i,  9 ).Value
            Zakup = wSheet.Cells(i,  9 ).Value - wSheet.Cells(i,  10 ).Value
            
            Cells( 2 ,  2 ).Activate
            findRow =  2 
            
            Set c = Range("B:B").Find(What:=Articul, After:=ActiveCell)
            If Not c Is Nothing Then
                firstAddress = c.Address
                Do
                    c.Activate
                    If c.Formula = Articul Then GoTo label1
                    Set c = Range("B:B").FindNext
                Loop While Not c Is Nothing And c.Address <> firstAddress
            End If
            
            If c Is Nothing Then Set c = Range("B2")

label1:
            If c.Row =  2  Then
                CurrRow = CurrRow +  1 
                Set c = Cells(CurrRow,  2 )
            End If
            
            Cells(c.Row,  1 ) = ID
            Cells(c.Row,  2 ) = Articul
            Cells(c.Row,  5 ) = Name
            Cells(c.Row,  3 ) = Group
            Cells(c.Row,  4 ) = PodGroup
            Cells(c.Row,  6 ) = Production
            Cells(c.Row, CurrColumn) = Cells(c.Row, CurrColumn) + Quantity
            Cells(c.Row, CurrColumn +  1 ) = Cells(c.Row, CurrColumn +  1 ) + Zakup
            Cells(c.Row, CurrColumn +  2 ) = Cells(c.Row, CurrColumn +  2 ) + Fact
            
            i = i +  1 
    Loop While (wSheet.Cells(i,  1 ).Formula <> "" And wSheet.Cells(i,  1 ).Formula <> "Сводка") 'i <= wSheet.Range("A65536").End(xlUp).Row
        
    End If
    
Next wSheet

'=================Протягиваем TOTAL=================
Range("AR3").Activate
ActiveCell.FormulaR1C1 = "=RC[-3]+RC[-6]+RC[-9]+RC[-12]+RC[-15]+RC[-18]+RC[-21]+RC[-24]+RC[-27]+RC[-30]+RC[-33]+RC[-36]"
Range("AR3").Select
Selection.AutoFill Destination:=Range("AR3:AT3"), Type:=xlFillDefault
Range("AR3:AT3").Select
Set c = Range(Cells( 4 , Range("AR4").Column), Cells(Range("A65536").End(xlUp).Row, Range("AT4").Column))
Selection.Copy
c.Select
ActiveSheet.Paste
    
Workbooks(dataBook).Close SaveChanges:=False
UserForm1.Hide
MsgBox "done"
End Sub
...
Рейтинг: 0 / 0
Сводная таблица Excel 2007: диапазон данных из нескольких листов?
    #36545189
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
etrofimov80,

Модератор: Не забывайте про тег SRC
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сводная таблица Excel 2007: диапазон данных из нескольких листов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]