사용자 정의 함수가 vba에서 작동하지 않습니다.

Jey

이 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

이 경우 CarrierVector에서 Carrier 변수가 발견되면 해당 Carrier에 해당하는 Date는 TempRange 배열에 저장되며 (반복되지 않는 경우) 마지막에 가장 늦은 날짜를 반환하지만 그렇지 않습니다. 작동하면 함수가 호출 된 셀에 오류가 반환됩니다. 도와주세요.

Tricot

VLookUp전화에 문제가있는 것 같습니다 . 왜 실패하는지 모르겠지만 좋은 대안이없는 한 VBA 내에서 워크 시트 함수를 사용하는 것은 권장되지 않는다고 생각합니다.

그러나이 경우를 사용하여 Collection이미 가지고있는 고유 한 날짜 집합을 추적 할 수 있습니다 .

Public Function GetLastDate(Carrier As String, CarrierVector As Range, 
                            DateVector As Range) As Variant
    Dim TempRange As New Collection
    Dim i As Integer
    Dim found As Boolean
    Dim max As Date
    For i = 1 To DateVector.Rows.Count
        With Application.WorksheetFunction
            If .Text(CarrierVector.Item(i), "#") = Carrier Then
                On Error Resume Next
                    found = TempRange.Item(DateVector.Item(i) & "")
                On Error GoTo 0
                If Not found Then
                    TempRange.Add DateVector.Item(i), DateVector.Item(i) & ""
                    If DateVector.Item(i) > max Then max = DateVector.Item(i)
                End If
            End If
        End With
    Next i
    GetLastDate = max
End Function

그래도 다른 용도로 사용하지 않기 때문에 왜 이것을 사용해야하는지 잘 모르겠습니다 TempRange. 완전히 떨어 뜨릴 수도 있습니다.

Public Function GetLastDate(Carrier As String, CarrierVector As Range,
                            DateVector As Range) As Variant
    Dim i As Integer
    Dim found As Boolean
    Dim max As Date
    For i = 1 To DateVector.Rows.Count
        With Application.WorksheetFunction
            If .Text(CarrierVector.Item(i), "#") = Carrier Then
                If DateVector.Item(i) > max Then max = DateVector.Item(i)
            End If
        End With
    Next i
    GetLastDate = max
End Function

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

$ (this) 사용자 정의 jQuery 함수 내에서 작동하지 않습니다.

분류에서Dev

: = 연산자가 mysql 함수 내에서 사용자 정의 변수로 작동하지 않습니다.

분류에서Dev

사용자 정의 함수가있는 window.opener가 Safari에서 작동하지 않습니다.

분류에서Dev

Python lxml 사용자 정의 파서가 lxml.etree.parse (...) 함수에서 작동하지 않습니다.

분류에서Dev

사용자 정의 함수가 dplyr 파이프에서 작동하지 않습니다.

분류에서Dev

jQuery event.PreventDefault가 사용자 정의 함수에서 작동하지 않습니다.

분류에서Dev

Material UI 사용자 정의 TextField가 Yup에서 작동하지 않습니다.

분류에서Dev

WCF 사용자 정의 userNamePasswordValidationMode가 IIS Express에서 작동하지 않습니다.

분류에서Dev

JSTL forEach가 사용자 정의 태그에서 작동하지 않습니다.

분류에서Dev

VBA의 간단한 사용자 정의 함수가 Excel 2010에서 작동하지 않음

분류에서Dev

사용자 정의 분류 정렬 순서가 작동하지 않습니다.

분류에서Dev

SQLServer 쿼리의 사용자 정의 함수가 작동하지 않습니다.

분류에서Dev

setInterval 내부의 사용자 정의 함수가 작동하지 않습니다.

분류에서Dev

Nodemailer 사용자 지정 SMTP가 Firebase 함수에서 작동하지 않습니다.

분류에서Dev

사용자 지정 IsAjaxRequest 함수가 MVC 6에서 작동하지 않습니다.

분류에서Dev

Pandas에서 작동하지 않는 사용자 정의 함수

분류에서Dev

$ (this) .each 내부의 사용자 정의 함수에서 작동하지 않습니다.

분류에서Dev

$ (this) .each 내부의 사용자 정의 함수에서 작동하지 않습니다.

분류에서Dev

Wordpress에서 자동 저장 사용자 정의 필드가 작동하지 않습니다.

분류에서Dev

ArrayFormula가 배열을 반환하는 사용자 지정 함수에서 작동하지 않습니까?

분류에서Dev

사용자 지정 지시문에서 개체 배열의 ng-repeat가 작동하지 않습니다.

분류에서Dev

사용자 정의 ListView setOnItemClickListener가 작동하지 않습니다.

분류에서Dev

사용자 정의 404 페이지가 추가 디렉토리에서 작동하지 않습니다.

분류에서Dev

사용자 정의 함수 결과가 Excel에 나타나지 않습니다.

분류에서Dev

operator =가 내 사용자 정의 문자열 클래스에서 제대로 작동하지 않습니다.

분류에서Dev

함수가 개별적으로 괜찮아 보이지만 data.table에 사용자 지정 함수를 적용하면 작동하지 않습니다.

분류에서Dev

Excel에서 COUNTIF ()가 상수 정의 문자열 []과 함께 작동하지 않습니다.

분류에서Dev

yii2에서 사용자 정의 유효성 검사가 작동하지 않습니다.

분류에서Dev

UserManager.FindAsync가 UserStore의 사용자 지정 구현에서 작동하지 않습니다.

Related 관련 기사

  1. 1

    $ (this) 사용자 정의 jQuery 함수 내에서 작동하지 않습니다.

  2. 2

    : = 연산자가 mysql 함수 내에서 사용자 정의 변수로 작동하지 않습니다.

  3. 3

    사용자 정의 함수가있는 window.opener가 Safari에서 작동하지 않습니다.

  4. 4

    Python lxml 사용자 정의 파서가 lxml.etree.parse (...) 함수에서 작동하지 않습니다.

  5. 5

    사용자 정의 함수가 dplyr 파이프에서 작동하지 않습니다.

  6. 6

    jQuery event.PreventDefault가 사용자 정의 함수에서 작동하지 않습니다.

  7. 7

    Material UI 사용자 정의 TextField가 Yup에서 작동하지 않습니다.

  8. 8

    WCF 사용자 정의 userNamePasswordValidationMode가 IIS Express에서 작동하지 않습니다.

  9. 9

    JSTL forEach가 사용자 정의 태그에서 작동하지 않습니다.

  10. 10

    VBA의 간단한 사용자 정의 함수가 Excel 2010에서 작동하지 않음

  11. 11

    사용자 정의 분류 정렬 순서가 작동하지 않습니다.

  12. 12

    SQLServer 쿼리의 사용자 정의 함수가 작동하지 않습니다.

  13. 13

    setInterval 내부의 사용자 정의 함수가 작동하지 않습니다.

  14. 14

    Nodemailer 사용자 지정 SMTP가 Firebase 함수에서 작동하지 않습니다.

  15. 15

    사용자 지정 IsAjaxRequest 함수가 MVC 6에서 작동하지 않습니다.

  16. 16

    Pandas에서 작동하지 않는 사용자 정의 함수

  17. 17

    $ (this) .each 내부의 사용자 정의 함수에서 작동하지 않습니다.

  18. 18

    $ (this) .each 내부의 사용자 정의 함수에서 작동하지 않습니다.

  19. 19

    Wordpress에서 자동 저장 사용자 정의 필드가 작동하지 않습니다.

  20. 20

    ArrayFormula가 배열을 반환하는 사용자 지정 함수에서 작동하지 않습니까?

  21. 21

    사용자 지정 지시문에서 개체 배열의 ng-repeat가 작동하지 않습니다.

  22. 22

    사용자 정의 ListView setOnItemClickListener가 작동하지 않습니다.

  23. 23

    사용자 정의 404 페이지가 추가 디렉토리에서 작동하지 않습니다.

  24. 24

    사용자 정의 함수 결과가 Excel에 나타나지 않습니다.

  25. 25

    operator =가 내 사용자 정의 문자열 클래스에서 제대로 작동하지 않습니다.

  26. 26

    함수가 개별적으로 괜찮아 보이지만 data.table에 사용자 지정 함수를 적용하면 작동하지 않습니다.

  27. 27

    Excel에서 COUNTIF ()가 상수 정의 문자열 []과 함께 작동하지 않습니다.

  28. 28

    yii2에서 사용자 정의 유효성 검사가 작동하지 않습니다.

  29. 29

    UserManager.FindAsync가 UserStore의 사용자 지정 구현에서 작동하지 않습니다.

뜨겁다태그

보관