У меня есть код, который находит определенный столбец и переходит к его последнему значению строки и отображает его. Моя проблема заключается в том, что application.match не работает над объединенными ячейками. Вот мой код;Application.match не работает с объединенными ячейками
Dim rng As Range
Dim LastRow As Long
With ActiveSheet
Set rng = Sheets("COMPAS").Range("A10:" & .Range("ZZ9").End(xlToRight).Address)
col = Application.Match("*Crt.*", rng, 0)
If IsError(col) Then
Sheets("MACRO TEMPLATE").Cells(2, 2) = 0
Else
col = Application.Match("*Crt. Accrual*", rng, 0)
LastRow = Sheets("COMPAS").Cells(1000000, col).End(xlUp).Row
Sheets("MACRO TEMPLATE").Cells(2, 2) = Sheets("COMPAS").Cells(LastRow, col)
End If
End With
То, что я пытаюсь найти, это «Crt. Accrual». В отличие от «Allotment-Total», который находится на строке 9 и 10 (объединен) «Crt. Accrual» находится в строке 10. не объединен со строкой 9.
Любой ответ будет оценен.
Если вы используете встроенную функцию в VBA, которые необходимо используйте правильный объект. 'Application.WorksheetFunction.Match (...)' – PatricK
Это дает мне ошибку времени выполнения 438, поэтому я использовал application.match без функции рабочего листа. –
Я думаю, что ваш ** Crt. В Accrual ** есть ручная подача строки (Alt-Enter)? Если это так, матч НЕ найдет его, если вы его не включите ('CHAR (10)'). Попробуйте удалить фид строки или сопоставить другую строку. – PatricK