У меня есть несколько рабочих книг с одним листом, каждый из которых имеет одинаковую структуру, хотел бы объединить их в одну книгу, нашел несколько примеров в сети, но не смог добиться того, чего я хочу, этот код у меня создаст слияние, но оно выбирает только один столбец. Я хотел бы скопировать весь использованный диапазон, начиная с точки, например, «A2» попробовал пару здесь, это то, что я попробовал, закомментированные строки - это то, что я пробовал, и не сработало, никаких предложений добро пожаловать, пожалуйста
Sub Trymerge()
Dim FolderPath As String, Path As String, count As Integer
Dim ThisWB As String, lngFilecounter As Long
Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet
Dim Filename As String, Wkb As Workbook
Dim CopyRng As Range, Dest As Range
Dim RowofCopySheet As Integer
ThisWB = ActiveWorkbook.Name
FolderPath = "H:\Staging\Testmerge"
' path = FolderPath & "\*.xls*"
'Filename = Dir(path)
Filename = Dir(FolderPath & "\*.xls*", vbNormal)
MsgBox Filename
RowofCopySheet = 11
Application.EnableEvents = False
Application.ScreenUpdating = False
Set shtDest = ActiveWorkbook.Sheets(1)
Do While Filename <> ""
MsgBox Filename
count = count + 1
If Not Filename = ThisWB Then
Set Wkb = Workbooks.Open(Filename:=FolderPath & "\" & Filename)
MsgBox "working file" & Filename
Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(Cells(Rows.count, 1).End(xlUp).Row, Cells(1, Columns.count).End(xlToLeft).Column))
'Wkb.Sheets(1).Range("A11").Select
' Set CopyRng = Wkb.Sheets(1).Range(RowofCopySheet, ActiveCell.End(xlDown).End(xlToRight))
'Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(.UsedRange.Rows.count, .UsedRange.Columns.count))
Set Dest = shtDest.Range("A" & shtDest.Cells(Rows.count, 1).End(xlUp).Row + 1)
CopyRng.Copy
Dest.PasteSpecial xlPasteFormats
Dest.PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False 'Clear Clipboard
Wkb.Close False
End If
Filename = Dir()
Loop
' Range("Q8").Value = count
MsgBox count & " : files found in folder"
End Sub