Итак, у меня есть макрос, который сравнивает две рабочие книги и удаляет любые похожие записи в рабочей книге, в которой выполняется макрос, но в конце у меня есть частная функция, которая запускается для сортировки второго листа содержимого рабочей книги. Когда я сам запускаю функцию, она работает нормально, выполняя и сортируя таблицу без проблем, однако, когда я запускаю ее в самом макросе, она возвращает следующее:
Ошибка времени выполнения '9': Индекс вне диапазона
Sub CheckReadyBoard()
Dim I, J, total, fRow As Integer
Dim found As Range
'SP = SharePoint List, SPS = SharePoint Sheet
'Filter by Dept then Machine
'
Dim SP As Workbook
Dim SPS As Worksheet
Set SP = Workbooks.Open(get_user_specified_filepath())
Set SPS = SP.Sheets(1)
Set HSheet = ThisWorkbook.Sheets("Building Parts")
' Remove Anything from Readyboard and NOT Ready for T
HBLR = HSheet.Range("A" & Rows.Count).End(xlUp).Row
RBLR = SPS.Range("A" & Rows.Count).End(xlUp).Row
For I = 2 To HBLR
answer1 = HSheet.Range("I" & I).Value
Set found = SPS.Columns("G:G").Find(what:=answer1) 'finds a match
If found Is Nothing Then
'Leave Line w/ Nothing so it will pass this line
Else
HSheet.Range("I" & I).EntireRow.Delete
End If
Next I
'Application.ScreenUpdating = False
'Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'Application.ScreenUpdating = True
Sort2
SP.Close
End Sub
Private Function Sort2()
Set HSheet = ThisWorkbook.Sheets("Building Parts")
HBLR = HSheet.Range("A" & Rows.Count).End(xlUp).Row
Worksheets("Building Parts").Activate
With Range(Columns("A"), Columns("I"))
.Sort key1:=Columns("A"), Order1:=xlDescending, Header:=xlNo
.Sort key1:=Columns("B"), Order1:=xlDescending, Header:=xlNo
End With
End Function
Когда я нажимаю кнопку отладки, это выделяет Worksheets("Building Parts").Activate
Я не очень хорошо разбираюсь в VBA, поэтому я не уверен, что мой синтаксис плох или мой Мне нужно немного отредактировать где-нибудь ..
Информация, которая может быть важна:
1) Моя рабочая тетрадь содержит два листа. Лист 1 имеет кнопки для запуска макросов, а лист 2 содержит данные.
2) Добавление Worksheets("Building Parts").Activate
сделало сортировку работающей самостоятельно, ранее она не работала сама по себе или в макросе.