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

Вход

Регистрация

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

 

= Мир MS Excel/Сумма данных из разных книг в одну - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Сумма данных из разных книг в одну
SARAN Дата: Пятница, 04.10.2013, 15:21 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Дали "книгу" с одним листом "Заяка отдела", которую все отделы раздублировали в той же папке (книга-отдел1, книга-отдел2 и т.д.) и вбили свои данные в столбик "квартал4".
Надо бы свести в основную "книгу" и книгу отправить почтой.
Сделал суммой (='F:\папка\[книга-отдел1.xlsm]Заяка отдела'!$H22+'F:\папка\[книга-отдел2.xlsm]Заяка отдела'!$H22+), но потом надо скопировать и вставить только значения,
чтобы связи не порушились из-за отсутствия остальных файлов рядом.
А вот бы скриптик - сложи из всех лежащих в папке файликов ячейку в Н22 из всех Н22, в Н23 из всех Н23 и т.д.(квартал 4), ну потом будет 1 квартал Е22.
Заранее благодарствую откликнувшимся
и сорри если подобное, искал, не нашел,ткните в таком случае.
К сообщению приложен файл: 4087156.xlsx (11.9 Kb)
 
Ответить
СообщениеДали "книгу" с одним листом "Заяка отдела", которую все отделы раздублировали в той же папке (книга-отдел1, книга-отдел2 и т.д.) и вбили свои данные в столбик "квартал4".
Надо бы свести в основную "книгу" и книгу отправить почтой.
Сделал суммой (='F:\папка\[книга-отдел1.xlsm]Заяка отдела'!$H22+'F:\папка\[книга-отдел2.xlsm]Заяка отдела'!$H22+), но потом надо скопировать и вставить только значения,
чтобы связи не порушились из-за отсутствия остальных файлов рядом.
А вот бы скриптик - сложи из всех лежащих в папке файликов ячейку в Н22 из всех Н22, в Н23 из всех Н23 и т.д.(квартал 4), ну потом будет 1 квартал Е22.
Заранее благодарствую откликнувшимся
и сорри если подобное, искал, не нашел,ткните в таком случае.

Автор - SARAN
Дата добавления - 04.10.2013 в 15:21
alex77755 Дата: Понедельник, 07.10.2013, 09:35 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

можно так:
[vba]
Код
Private Function GetValue(path, file, sheet, ref)
'Функция GetValue имеет четыре аргумента:
'¦ path – путь к закрытому файлу (например, "d:\files");
'¦ file – название рабочей книги (например, "budget.xls");
'¦ sheet – название рабочего листа (например, "Лист1");
'¦ ref – ссылка на ячейку (например, "C4").
Dim arg As String
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "Файл не найден"
Exit Function
End If
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
GetValue = ExecuteExcel4Macro(arg)
End Function

Sub Сбор_инфы()
p = ActiveWorkbook.path
i = 1
f = Dir(p & "\отдел" & i & ".xls")
     Do While f <> ""
         DoEvents
         s = "Заяка отдела"
         For r = 22 To 35
             a = Cells(r, 9).Address
             t = GetValue(p, f, s, a)
             Cells(r, 9) = Cells(r, 9) + t
         Next r
         i = i + 1
         f = Dir(p & "\отдел" & i & ".xls")
     Loop
End Sub
[/vba]
подкорректируй под свои нужды (у меня 2003)


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщениеможно так:
[vba]
Код
Private Function GetValue(path, file, sheet, ref)
'Функция GetValue имеет четыре аргумента:
'¦ path – путь к закрытому файлу (например, "d:\files");
'¦ file – название рабочей книги (например, "budget.xls");
'¦ sheet – название рабочего листа (например, "Лист1");
'¦ ref – ссылка на ячейку (например, "C4").
Dim arg As String
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "Файл не найден"
Exit Function
End If
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
GetValue = ExecuteExcel4Macro(arg)
End Function

Sub Сбор_инфы()
p = ActiveWorkbook.path
i = 1
f = Dir(p & "\отдел" & i & ".xls")
     Do While f <> ""
         DoEvents
         s = "Заяка отдела"
         For r = 22 To 35
             a = Cells(r, 9).Address
             t = GetValue(p, f, s, a)
             Cells(r, 9) = Cells(r, 9) + t
         Next r
         i = i + 1
         f = Dir(p & "\отдел" & i & ".xls")
     Loop
End Sub
[/vba]
подкорректируй под свои нужды (у меня 2003)

Автор - alex77755
Дата добавления - 07.10.2013 в 09:35
alex77755 Дата: Понедельник, 07.10.2013, 09:38 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Файлы отделов находятся рядом со сборным, в названии которого нет "отдел"


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеФайлы отделов находятся рядом со сборным, в названии которого нет "отдел"

Автор - alex77755
Дата добавления - 07.10.2013 в 09:38
SARAN Дата: Вторник, 08.10.2013, 07:55 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ну так-то лежат рядом все, в момент работы формул (ну или скрипта :) )
обязательно попробую выложенный, пасиб
 
Ответить
СообщениеНу так-то лежат рядом все, в момент работы формул (ну или скрипта :) )
обязательно попробую выложенный, пасиб

Автор - SARAN
Дата добавления - 08.10.2013 в 07:55
SARAN Дата: Вторник, 08.10.2013, 08:25 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Неа, не робит, даже ошибок не выходит.
 
Ответить
СообщениеНеа, не робит, даже ошибок не выходит.

Автор - SARAN
Дата добавления - 08.10.2013 в 08:25
_Boroda_ Дата: Вторник, 08.10.2013, 09:37 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Посмотрите вариант с консолидацией
сделал на разные листы одной книги, но с разными файлами все аналогично.
Вам нужно ОДИН раз все настроить (как показано на рисунке в файле), а потом только перезапускать консолидацию.
Можно всю ручную настройку сделать макросом, но на советую, поскольку Вы, похоже, с ними (макросами) не очень дружите.
Гораздо проще потратить 10 минут и настроить все руками.
К сообщению приложен файл: 4087156_1.xlsx (53.9 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПосмотрите вариант с консолидацией
сделал на разные листы одной книги, но с разными файлами все аналогично.
Вам нужно ОДИН раз все настроить (как показано на рисунке в файле), а потом только перезапускать консолидацию.
Можно всю ручную настройку сделать макросом, но на советую, поскольку Вы, похоже, с ними (макросами) не очень дружите.
Гораздо проще потратить 10 минут и настроить все руками.

Автор - _Boroda_
Дата добавления - 08.10.2013 в 09:37
SARAN Дата: Вторник, 08.10.2013, 09:51 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
:( чего-то да, с vbs еще копался, переделывал когда-то под себя, а сейчас...
пасиб посмотрю обязательно, а обновлять там же кнопкой "обновить все"?
 
Ответить
Сообщение:( чего-то да, с vbs еще копался, переделывал когда-то под себя, а сейчас...
пасиб посмотрю обязательно, а обновлять там же кнопкой "обновить все"?

Автор - SARAN
Дата добавления - 08.10.2013 в 09:51
Матрёна Дата: Вторник, 08.10.2013, 09:52 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

Вариант:
1. макрос "считает" строки документа по столбу В - количество строк в заявке не критично,
1. файлы-отделы должны находиться в одном каталоге с файлом "Заявка",
1.1. имена файлов-отделов - любые,
2. в столбах E,F,G,H в "заголовочных" строках, как то: "Ручки / Стержни / Карандаши / Маркеры" и пр. - наложить условное форматирование (если 0, то белый цвет).
К сообщению приложен файл: 3260295.rar (31.7 Kb)
 
Ответить
СообщениеВариант:
1. макрос "считает" строки документа по столбу В - количество строк в заявке не критично,
1. файлы-отделы должны находиться в одном каталоге с файлом "Заявка",
1.1. имена файлов-отделов - любые,
2. в столбах E,F,G,H в "заголовочных" строках, как то: "Ручки / Стержни / Карандаши / Маркеры" и пр. - наложить условное форматирование (если 0, то белый цвет).

Автор - Матрёна
Дата добавления - 08.10.2013 в 09:52
SARAN Дата: Вторник, 08.10.2013, 10:40 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, Александр, правда получается формула наподобие как и сумма ;)
только что в строке не палится огромная формула и отправить файл можно, не будут связи порушены, так?
и еще, в момент консолидации, файлы открыты должны быть да, пишет невозможно открыть?

Матрёна, пасибки, сейчас гляну и ваш
 
Ответить
СообщениеСпасибо, Александр, правда получается формула наподобие как и сумма ;)
только что в строке не палится огромная формула и отправить файл можно, не будут связи порушены, так?
и еще, в момент консолидации, файлы открыты должны быть да, пишет невозможно открыть?

Матрёна, пасибки, сейчас гляну и ваш

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

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

Автор - SARAN
Дата добавления - 08.10.2013 в 10:41
_Boroda_ Дата: Вторник, 08.10.2013, 10:45 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
в момент консолидации, файлы открыты должны быть да, пишет невозможно открыть

В момент сбора должны быть открыты (так удобнее), в момент консолидации - не обязательно.


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

В момент сбора должны быть открыты (так удобнее), в момент консолидации - не обязательно.

Автор - _Boroda_
Дата добавления - 08.10.2013 в 10:45
alex77755 Дата: Вторник, 08.10.2013, 22:18 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Неа, не робит, даже ошибок не выходит.

Если б я не проверил не выкладывал бы.
Я же написал: проверь имена своих файлов и пр.
К сообщению приложен файл: 444.rar (33.8 Kb)


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщение
Неа, не робит, даже ошибок не выходит.

Если б я не проверил не выкладывал бы.
Я же написал: проверь имена своих файлов и пр.

Автор - alex77755
Дата добавления - 08.10.2013 в 22:18
alex77755 Дата: Вторник, 08.10.2013, 22:27 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Что бы не накапливал - добавить строчку после Sub Сбор_инфы()
[vba]
Код
Sub Сбор_инфы()
Range("I22:I35").ClearContents
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Вторник, 08.10.2013, 22:27
 
Ответить
СообщениеЧто бы не накапливал - добавить строчку после Sub Сбор_инфы()
[vba]
Код
Sub Сбор_инфы()
Range("I22:I35").ClearContents
[/vba]

Автор - alex77755
Дата добавления - 08.10.2013 в 22:27
SARAN Дата: Среда, 09.10.2013, 08:12 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
alex77755, хорошо, понятно, благодарствую! будем работать... еще раз спасибо
 
Ответить
Сообщениеalex77755, хорошо, понятно, благодарствую! будем работать... еще раз спасибо

Автор - SARAN
Дата добавления - 09.10.2013 в 08:12
bosika Дата: Понедельник, 09.11.2020, 22:49 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 105
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010, 2013, 2016
Уважаемые Гуру!
Дабы не создавать отдельную тему по данному топику, который весьма полезный, имеется вопрос один: Как можно отвязать Имена файлов типа Отдел1, т.к. у меня данные будут собираться под другими названиями файлов. Как это можно в прописать в коде?
Большое спасибо что не сильно пнули. :)


Начинающий. Много и долго не пинать. Больно однако.
 
Ответить
СообщениеУважаемые Гуру!
Дабы не создавать отдельную тему по данному топику, который весьма полезный, имеется вопрос один: Как можно отвязать Имена файлов типа Отдел1, т.к. у меня данные будут собираться под другими названиями файлов. Как это можно в прописать в коде?
Большое спасибо что не сильно пнули. :)

Автор - bosika
Дата добавления - 09.11.2020 в 22:49
Pelena Дата: Вторник, 10.11.2020, 08:06 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
bosika, создайте свою тему и опишите подробнее задачу. Вряд ли кто-то захочет анализировать всю тему, чтобы понять, что Вам нужно. Надеюсь,
не сильно пнули

:)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеbosika, создайте свою тему и опишите подробнее задачу. Вряд ли кто-то захочет анализировать всю тему, чтобы понять, что Вам нужно. Надеюсь,
не сильно пнули

:)

Автор - Pelena
Дата добавления - 10.11.2020 в 08:06
  • Страница 1 из 1
  • 1
Поиск:

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