- Сообщения
- 5
- Реакции
- 0
У меня есть файл Excel, который состоит из множества страниц. нужно сделать сводную таблицу в другом файле. Как это сделать?
Krendelechek сказал(а):У меня есть файл Excel, который состоит из множества страниц. нужно сделать сводную таблицу в другом файле. Как это сделать?
Великолепно! Именно это мне и нужно!aleksasha сказал(а):Если вас устроит собирание информации со всех листов на один, то могу предложить макрос, который добавляет пустой лист и на него "собирает" данные с остальных листов.
Krendelechek сказал(а):Великолепно! Именно это мне и нужно!
Sub All_to_last_page()
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Activate
Worksheets(Worksheets.Count).Name = "All"
Cells.Select
Selection.NumberFormat = "@"
myStroka1 = 1 ' Объявляем номер начальной строки последнего листа
myCount = Worksheets.Count ' Кол-во страниц
For i = 1 To (myCount - 1) ' с 1 по предпоследний лист перебираем
myStroka = 1 '
myStolbets = 1 '
myName = Worksheets(i).Name ' Извлекаем имя текущего листа
' Пока на искомом листе три ячейки в строке подряд не будут пустыми
If Worksheets(i).Cells(myStroka, myStolbets).Value <> "" Or Worksheets(i).Cells(myStroka, myStolbets + 1).Value <> "" Or Worksheets(i).Cells(myStroka, myStolbets + 2).Value <> "" Then
Cells(myStroka1, 1).Value = myName ' Вписываем имя листа
Cells(myStroka1, 1).Font.Bold = True
myStroka1 = myStroka1 + 1
End If
Do While Worksheets(i).Cells(myStroka, myStolbets).Value <> "" Or Worksheets(i).Cells(myStroka, myStolbets + 1).Value <> "" Or Worksheets(i).Cells(myStroka, myStolbets + 2).Value <> ""
Worksheets(myCount).Cells(myStroka1, myStolbets).Value = Worksheets(i).Cells(myStroka, myStolbets).Value
Worksheets(myCount).Cells(myStroka1, myStolbets + 1).Value = Worksheets(i).Cells(myStroka, myStolbets + 1).Value
Worksheets(myCount).Cells(myStroka1, myStolbets + 2).Value = Worksheets(i).Cells(myStroka, myStolbets + 2).Value
Worksheets(myCount).Cells(myStroka1, myStolbets + 3).Value = Worksheets(i).Cells(myStroka, myStolbets + 3).Value
myStroka1 = myStroka1 + 1
myStroka = myStroka + 1
Loop
Next i
Worksheets(myCount).Activate
Range("A1").Select
End Sub
Никакого секрета. Нужно просто снести количество сданых объявлений по каждому агентству. На листах они идут к-во умножить на цену=сумма... по дням недели. Теперь нужна сводная количество по дням и по фирмам. Только и всего. Простите, я по вашему макросу ничего не понимаю... (краснеет) Не могли бы вы более популярно объяснить как пользоваться вашей шпаргалкой? )))aleksasha сказал(а):"Сводной таблицей" не стоило называть подобный сбор данных. В Экселе этим термином называю нечто другое... Если не секрет, какого рода данные собираете?
Krendelechek сказал(а):Чей-то он (макрос) как-то так работает... непонятно... Скорее всего это я что-то не так сделала. Расскажите... КАК надо!