Я не знаю, почему я получаю сообщение об ошибке при попытке запустить этот код.Ошибка возникает после появления MsgBox
, но после нажатия «debug» в окне ошибки строка Msgbox
подсвечивается.Я подозреваю, что есть проблема с переменными диапазона First
и Last
.
Я проверил, что переменные ws и Criteria действительны, и закомментировал оставшуюся часть функции, чтобы найти проблему.Я использовал этот код ранее, и у меня не было проблем с ним, поэтому я не знаю, что изменилось.
Function TotalUniqueValues(ws As Worksheet, Criteria As String) As Integer
Dim Last As Range, First As Range, rng As Range
Set Last = ws.Cells.Find(What:=Criteria, _
After:=Range("B1"), _
LookAt:=xlPart, _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
Set First = ws.Cells.Find(What:=Criteria, _
After:=Range("B1"), _
LookAt:=xlPart, _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
MsgBox Last.Address
Set rng = Range(First, Last)
End Function