у меня есть этот udf, и в основном я хочу получить последнюю дату из вектора (столбца), которая соответствует другим данным в другом столбце, вот код:
Option Explicit
Public Function GetLastDate(Carrier As String, CarrierVector As Range, DateVector As Range) As Variant
Dim TempRange(1 To 10) As Variant
Dim i, j As Integer
For i = 1 To DateVector.Rows.Count
With Application.WorksheetFunction
If .Text(CarrierVector.Item(i), "#") = Carrier And .IsError(.VLookup(DateVector.Item(i), TempRange, 1, False)) Then
j = j + 1
TempRange(j) = DateVector.Item(i)
End If
End With
Next i
GetLastDate = Application.WorksheetFunction.Max(TempRange)
End Function
в этом случае, если переменная Carrier найдена в CarrierVector, дата, соответствующая этому перевозчику, будет храниться в массиве TempRange (это, если он не повторяется), и в конце он вернет самую последнюю дату, но это не работает, он просто возвращает ошибку в ячейке, из которой вызывается функция, не могли бы вы мне помочь?
? GetLastDate("53421",AF1:AF1290,L1:L1290)
, но потом говорил Ожидаемый список или разделитель) - person Jey   schedule 18.07.2016Range("AF1:AF1290")
или[AF1:AF1290]
при вызове функции из непосредственного окна. - person arcadeprecinct   schedule 18.07.2016