Объединине файлов в один с определнной строки - VBA
Формулировка задачи:
Доброго дня всем!
Интересует вопрос можно ли по средством макроса объединить файлы в один. (пример вложил)
Кол-во файлов более 50, лист всегда первый.
Помогите плизз.
Решение задачи: «Объединине файлов в один с определнной строки»
textual
Листинг программы
Sub Сращение() Dim oFSO As Object Dim oFolder As Object Dim oFile As Object Dim sFolderName, sName, sFullName, sFileName As String Dim oWB As Workbook Set oWB = ActiveWorkbook sName = oWB.Name sFullName = oWB.FullName sFolderName = Replace(sFullName, sName, "") Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(sFolderName) For Each oFile In oFolder.Files sFileName = oFile.Name If Not sFileName = sName And Not InStr(sFileName, "$") >= 1 And InStr(sFileName, "xls") >= 1 Then Call ApplicationOne(sFileName, sFolderName) End If Next oFile oWB.Close SaveChanges:=wbSaveChanges End Sub Private Sub ApplicationOne(ByVal sFileName As String, ByVal sFolderName As String) Dim oWB As Workbook Dim oWBN As Workbook Dim oList As Worksheet Dim oListNew As Worksheet Set oWB = ActiveWorkbook Set oList = oWB.Sheets("Лист1") 'это имя листа Set oWBNew = Workbooks.Open(Filename:=sFolderName & sFileName) Set oListNew = oWBNew.Sheets("Лист1") 'Это имя листа открытой книги oList.Activate Dim lRange As Long lRange = LastRowFind(oList) lRange = lRange + 1 oListNew.Activate Dim lRangeNew As Long Dim iFirstNew As Integer Dim sText As String sText = "Столбец1" 'Это заголовок столбца iFirstNew = Columns("A:A").Find(What:=sText).Row lRangeNew = LastRowFind(oListNew) Range("A" & iFirstNew & ":" & "G" & lRangeNew).Select Selection.Copy oList.Activate oList.Rows(lRange).PasteSpecial 'oWBNew.Close SaveChanges:=wdDoNotSaveChanges End Sub Private Function LastRowFind(ByVal wList As Worksheet) Dim lRange As Long Dim iFirst As Integer lRange = Range("A" & Rows.Count).End(xlUp).Row lRange = lRange - Not IsEmpty(Range("A" & lRange)) LastRowFind = lRange - 1 End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д