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

Вход

Регистрация

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

 

= Мир MS Excel/Свод данных из разных книг в одну книгу exel (разные таблиц) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Свод данных из разных книг в одну книгу exel (разные таблиц)
WaleryN Дата: Среда, 13.11.2013, 09:26 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
По пробую объяснить на простом примере.
Бухгалтера приносят мне эксель файлы в которых в табличной части указано примерно так
Файл 1-й
1. Помидоры код 1 10кг
2. Яблоки код 2 20кг
3. Мандарины код 3 15 кг
Файл 2-й
1. Помидоры код 1 40кг
2. Яблоки код 2 10кг
3. Яблоки код 4 30кг
4. Мандарины код 3 15 кг
Файл 3-й
1. Яблоки код 4 25кг
2. Мандарины код 3 15 кг
3. Мандарины код 5 5 кг

Я должен сделать свод этих файлов
1. Помидоры код 1 50кг
2. Яблоки код 2 30кг
3. Яблоки код 4 55кг
4. Мандарины код 3 45 кг
5. Мандарины код 5 5 кг

первое что нужно как я понял это чтобы файл СВОД.xls собрал данные из файлов 1.xls 2.xls 3.xls ...
и создал странички с аналогичными названиями
Второе когда свод соберет данные из файлов, он суммировал с учетом кода. т.е. яблоки код 2 и яблоки код 4 слаживал отдельно, и если в таблице нет соответствующей строки с кодом, то добавлял ее исходя из источника данных (файла)
Если эту задачу нужно делать в VBA, то подскажите как?
[moder]Лучше попробуйте приложить файл
 
Ответить
СообщениеПо пробую объяснить на простом примере.
Бухгалтера приносят мне эксель файлы в которых в табличной части указано примерно так
Файл 1-й
1. Помидоры код 1 10кг
2. Яблоки код 2 20кг
3. Мандарины код 3 15 кг
Файл 2-й
1. Помидоры код 1 40кг
2. Яблоки код 2 10кг
3. Яблоки код 4 30кг
4. Мандарины код 3 15 кг
Файл 3-й
1. Яблоки код 4 25кг
2. Мандарины код 3 15 кг
3. Мандарины код 5 5 кг

Я должен сделать свод этих файлов
1. Помидоры код 1 50кг
2. Яблоки код 2 30кг
3. Яблоки код 4 55кг
4. Мандарины код 3 45 кг
5. Мандарины код 5 5 кг

первое что нужно как я понял это чтобы файл СВОД.xls собрал данные из файлов 1.xls 2.xls 3.xls ...
и создал странички с аналогичными названиями
Второе когда свод соберет данные из файлов, он суммировал с учетом кода. т.е. яблоки код 2 и яблоки код 4 слаживал отдельно, и если в таблице нет соответствующей строки с кодом, то добавлял ее исходя из источника данных (файла)
Если эту задачу нужно делать в VBA, то подскажите как?
[moder]Лучше попробуйте приложить файл

Автор - WaleryN
Дата добавления - 13.11.2013 в 09:26
RAN Дата: Среда, 13.11.2013, 09:29 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеТак

Автор - RAN
Дата добавления - 13.11.2013 в 09:29
WaleryN Дата: Среда, 13.11.2013, 12:14 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
почти, только я не спец в макросах
собирать собирает но туфта получается
в примере я писал
прилогаю реальный свод
К сообщению приложен файл: test_svod.rar (86.4 Kb)
 
Ответить
Сообщениепочти, только я не спец в макросах
собирать собирает но туфта получается
в примере я писал
прилогаю реальный свод

Автор - WaleryN
Дата добавления - 13.11.2013 в 12:14
WaleryN Дата: Среда, 13.11.2013, 12:35 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
мне подкинули вот такой макрос по сбору данных из файлов в книгу
не могу понять как сделать чтобы он собирал файлы не с числовым а с буквенным именем
ну и давал листам такие же имены как у файлов
ПС в файлах по одному листу

[vba]
Код
Sub Собрать из файлов()
Dim t As String

For i = 1 To 7

t = i
If GetWorksheetByName(t) = "" Then
Sheets.Add.Name = i
Else
Sheets(t).Select
Cells.Delete Shift:=xlUp
shCopy t
End If
Next

End Sub

Function shCopy(sh As String) ' открыть нужный файл и копирвать и закрыть его
On Error Resume Next
ChDir ThisWorkbook.Path
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & sh & ".xls"
If Err Then GoTo metka1
Cells.Select
Selection.Copy
Windows(ThisWorkbook.Name).Activate
Sheets(sh).Select
ActiveSheet.Paste
Windows(sh & ".xls").Close False
Range("A1").Select
metka1:
Err.Clear
End Function

Function GetWorksheetByName(ByRef shName As String) As String 'проверка наличия листа
Dim sht As Worksheet
For Each sht In ThisWorkbook.Worksheets
If shName = sht.Name Then
GetWorksheetByName = sht.Name
Exit For
Else
GetWorksheetByName = ""
End If
Next sht
End Function
[/vba]


Сообщение отредактировал WaleryN - Среда, 13.11.2013, 12:36
 
Ответить
Сообщениемне подкинули вот такой макрос по сбору данных из файлов в книгу
не могу понять как сделать чтобы он собирал файлы не с числовым а с буквенным именем
ну и давал листам такие же имены как у файлов
ПС в файлах по одному листу

[vba]
Код
Sub Собрать из файлов()
Dim t As String

For i = 1 To 7

t = i
If GetWorksheetByName(t) = "" Then
Sheets.Add.Name = i
Else
Sheets(t).Select
Cells.Delete Shift:=xlUp
shCopy t
End If
Next

End Sub

Function shCopy(sh As String) ' открыть нужный файл и копирвать и закрыть его
On Error Resume Next
ChDir ThisWorkbook.Path
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & sh & ".xls"
If Err Then GoTo metka1
Cells.Select
Selection.Copy
Windows(ThisWorkbook.Name).Activate
Sheets(sh).Select
ActiveSheet.Paste
Windows(sh & ".xls").Close False
Range("A1").Select
metka1:
Err.Clear
End Function

Function GetWorksheetByName(ByRef shName As String) As String 'проверка наличия листа
Dim sht As Worksheet
For Each sht In ThisWorkbook.Worksheets
If shName = sht.Name Then
GetWorksheetByName = sht.Name
Exit For
Else
GetWorksheetByName = ""
End If
Next sht
End Function
[/vba]

Автор - WaleryN
Дата добавления - 13.11.2013 в 12:35
WaleryN Дата: Среда, 13.11.2013, 13:02 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
del


Сообщение отредактировал WaleryN - Четверг, 14.11.2013, 09:06
 
Ответить
Сообщениеdel

Автор - WaleryN
Дата добавления - 13.11.2013 в 13:02
WaleryN Дата: Четверг, 14.11.2013, 07:15 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
del


Сообщение отредактировал WaleryN - Четверг, 14.11.2013, 09:06
 
Ответить
Сообщениеdel

Автор - WaleryN
Дата добавления - 14.11.2013 в 07:15
KuklP Дата: Четверг, 14.11.2013, 08:54 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеКросс:
http://forum.msexcel.ru/index.p....g=49479

Автор - KuklP
Дата добавления - 14.11.2013 в 08:54
WaleryN Дата: Четверг, 14.11.2013, 08:57 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
del


Сообщение отредактировал WaleryN - Четверг, 14.11.2013, 09:06
 
Ответить
Сообщениеdel

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

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