У меня есть несколько файлов в одной папке со столбцом "Номер детали", но не все они находятся в одном номере столбца. Список не обязательно начинается в той же строке.
Поэтому я сначала ищу строку "Номер детали", а затем копирую ее адрес как начало диапазона, который я хочу скопировать.
В столбце "Номер детали" есть пробелы в некоторых элементах, поэтому я не могу их использовать.Конец (xlDown) для поиска последней строки.
Поэтому я использую столбец «Кол-во», чтобы найти последнюю строку и скопировать номер строки.
У меня есть ячейка, где начинается диапазон, номер столбца и номер строки, где диапазон должен закончиться. Однако я получаю сообщение об ошибке "Приложение или объектная ошибка".
Макрос не закончен, но я не могу двигаться вперед, пока не решу это. Вот что я получил:
Option Explicit
Sub mergeworkbooks()
Dim path As String
Dim filename As String
Dim wbk As Workbook
Dim wks As Worksheet
Dim lastrow As Long
Dim lastcolumn As Long
Dim rangestart As String
Dim lastcol As Long
Dim rangefinish As String
Dim activesht As String
path = "D:\RubenBK\TEST\"
filename = Dir(path)
Do While filename <> ""
Set wbk = Workbooks.Open(path & filename)
For Each wks In Worksheets
If Not wks.UsedRange.Find("PART NUMBER", lookat:=xlPart, MatchCase:=False) Is Nothing Then
wks.UsedRange.Find("PART NUMBER", lookat:=xlPart, MatchCase:=False).Activate
rangestart = wks.UsedRange.Find("PART NUMBER", lookat:=xlPart, MatchCase:=False).Address
lastcolumn = wks.UsedRange.Find("PART NUMBER", lookat:=xlPart, MatchCase:=False).Column
lastrow = wks.UsedRange.Find("qty", lookat:=xlPart, MatchCase:=False).End(xlDown).row
rangefinish = Cells(lastrow, lastcolumn).Address(xlA1)
activesht = ActiveSheet.Name
'AND HERE IS WHERE I GET THE ERROR, THE Range("rangestart: rangefinish") PART:
wbk.Sheets(activesht).Range("rangestart: rangefinish").Copy Destination:=ThisWorkbook.Sheets("Sheet1").Range("A10")
End If
wbk.Close
Next
filename = Dir
Loop
End Sub
Любое предложение?