Собрать информацию с нескольких файлов
Мурад
Дата: Среда, 20.11.2019, 13:55 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация:
18
±
Замечаний:
0% ±
Excel 2007
Добрый день, форумчане! Подскажите, как собрать данные с нескольких файлов в один. В частности, в приложенных файлах a1-a3, нужно собрать данные с диапазона A6:C18 и расположить их по порядку в файле a-svod (без пустых строк между записями). По предложенному вами принципу я создам правила сбора для остальных показателей.
Добрый день, форумчане! Подскажите, как собрать данные с нескольких файлов в один. В частности, в приложенных файлах a1-a3, нужно собрать данные с диапазона A6:C18 и расположить их по порядку в файле a-svod (без пустых строк между записями). По предложенному вами принципу я создам правила сбора для остальных показателей. Мурад
Ответить
Сообщение Добрый день, форумчане! Подскажите, как собрать данные с нескольких файлов в один. В частности, в приложенных файлах a1-a3, нужно собрать данные с диапазона A6:C18 и расположить их по порядку в файле a-svod (без пустых строк между записями). По предложенному вами принципу я создам правила сбора для остальных показателей. Автор - Мурад Дата добавления - 20.11.2019 в 13:55
китин
Дата: Среда, 20.11.2019, 14:09 |
Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация:
1078
±
Замечаний:
0% ±
Excel 2007;2010;2016
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение вот тут Автор - китин Дата добавления - 20.11.2019 в 14:09
Мурад
Дата: Среда, 20.11.2019, 14:17 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация:
18
±
Замечаний:
0% ±
Excel 2007
Этот макрос не подходит, т.к. он собирает все данные с заданной ячейки и ниже, пока не встретит пустую строку. В моем варианте нужная информация может начинаться после пустых строк. Также данный макрос не удаляет пустые строки между записями.
Этот макрос не подходит, т.к. он собирает все данные с заданной ячейки и ниже, пока не встретит пустую строку. В моем варианте нужная информация может начинаться после пустых строк. Также данный макрос не удаляет пустые строки между записями. Мурад
Ответить
Сообщение Этот макрос не подходит, т.к. он собирает все данные с заданной ячейки и ниже, пока не встретит пустую строку. В моем варианте нужная информация может начинаться после пустых строк. Также данный макрос не удаляет пустые строки между записями. Автор - Мурад Дата добавления - 20.11.2019 в 14:17
InExSu
Дата: Четверг, 21.11.2019, 22:58 |
Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет!По предложенному вами принципу я создам
' Принцип, не тестировал
[vba]
Код
Sub Файлы_Список_Диапазон( _ a1_File_Path_Full_List As Variant, _ sRange_Address As String, _ ws_Dest As Worksheet) ' Test NO! Dim vFileName As Variant For Each vFileName In a1_File_Path_Full_List Workbooks.Open(vFileName).ActiveSheet.range("sRange_Address"). _ Copy ws_Dest.Cells(Строка_Свободная(ws_Dest), 1) ActiveWorkbook.Close False Next End Sub Function Строка_Свободная( _ ws As Worksheet) _ As Long ' Test yes Dim r As range Set r = ws.Cells.Find(what:="*", SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious) If r Is Nothing Then Строка_Свободная = 1 Else Строка_Свободная = r.Row + 1 End If End Function
[/vba]
Привет!По предложенному вами принципу я создам
' Принцип, не тестировал
[vba]
Код
Sub Файлы_Список_Диапазон( _ a1_File_Path_Full_List As Variant, _ sRange_Address As String, _ ws_Dest As Worksheet) ' Test NO! Dim vFileName As Variant For Each vFileName In a1_File_Path_Full_List Workbooks.Open(vFileName).ActiveSheet.range("sRange_Address"). _ Copy ws_Dest.Cells(Строка_Свободная(ws_Dest), 1) ActiveWorkbook.Close False Next End Sub Function Строка_Свободная( _ ws As Worksheet) _ As Long ' Test yes Dim r As range Set r = ws.Cells.Find(what:="*", SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious) If r Is Nothing Then Строка_Свободная = 1 Else Строка_Свободная = r.Row + 1 End If End Function
[/vba]
InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение Привет!По предложенному вами принципу я создам
' Принцип, не тестировал
[vba]
Код
Sub Файлы_Список_Диапазон( _ a1_File_Path_Full_List As Variant, _ sRange_Address As String, _ ws_Dest As Worksheet) ' Test NO! Dim vFileName As Variant For Each vFileName In a1_File_Path_Full_List Workbooks.Open(vFileName).ActiveSheet.range("sRange_Address"). _ Copy ws_Dest.Cells(Строка_Свободная(ws_Dest), 1) ActiveWorkbook.Close False Next End Sub Function Строка_Свободная( _ ws As Worksheet) _ As Long ' Test yes Dim r As range Set r = ws.Cells.Find(what:="*", SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious) If r Is Nothing Then Строка_Свободная = 1 Else Строка_Свободная = r.Row + 1 End If End Function
[/vba]
Автор - InExSu Дата добавления - 21.11.2019 в 22:58
Мурад
Дата: Понедельник, 25.11.2019, 17:27 |
Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация:
18
±
Замечаний:
0% ±
Excel 2007
InExSu , вставил код макроса. Но он почему-то в книге макросов не отображается. Зато появилась пользовательская функция "Строка_свободная". Правда, я не пойму, как эта функция поможет собрать данные с разных файлов :/
InExSu , вставил код макроса. Но он почему-то в книге макросов не отображается. Зато появилась пользовательская функция "Строка_свободная". Правда, я не пойму, как эта функция поможет собрать данные с разных файлов :/Мурад
Ответить
Сообщение InExSu , вставил код макроса. Но он почему-то в книге макросов не отображается. Зато появилась пользовательская функция "Строка_свободная". Правда, я не пойму, как эта функция поможет собрать данные с разных файлов :/Автор - Мурад Дата добавления - 25.11.2019 в 17:27
InExSu
Дата: Понедельник, 25.11.2019, 18:46 |
Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет! Пример вызова. Не проверял. [vba]Код
Sub a_RUN() Файлы_Список_Диапазон _ a1_File_Path_Full_List, "A6:C18" End Sub Function a1_File_Path_Full_List() _ As Variant ' например a1_File_Path_Full_List = Array( _ "c:\tmp\1.xls", _ "c:\tmp\2.xls") End Function
[/vba]
Привет! Пример вызова. Не проверял. [vba]Код
Sub a_RUN() Файлы_Список_Диапазон _ a1_File_Path_Full_List, "A6:C18" End Sub Function a1_File_Path_Full_List() _ As Variant ' например a1_File_Path_Full_List = Array( _ "c:\tmp\1.xls", _ "c:\tmp\2.xls") End Function
[/vba] InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение Привет! Пример вызова. Не проверял. [vba]Код
Sub a_RUN() Файлы_Список_Диапазон _ a1_File_Path_Full_List, "A6:C18" End Sub Function a1_File_Path_Full_List() _ As Variant ' например a1_File_Path_Full_List = Array( _ "c:\tmp\1.xls", _ "c:\tmp\2.xls") End Function
[/vba] Автор - InExSu Дата добавления - 25.11.2019 в 18:46