변수를 입력하여 변수를보다 동적으로 만들 수 있도록 수정해야하는 Excel 함수 (Iferror/Vlookup)가 기록되었습니다 (열 이동 허용). 다음은 내가하고 싶은 것에 대한 간단한 개요입니다. 첫 번째 섹션은 기록 된 Function과 내가 추가하고자하는 변수입니다. 두 번째 섹션은 제 제안 된 솔루션입니다. 내 문제는 Excel로 함수를 떨어 뜨리고 50,000 행 이상을 복사해야합니다. 그래서 내 오류 처리 솔루션은 여기서 작동하지 않습니다. iferror/Vlookup을 사용하여 원래 기록한 기능을 동적으로 만들 수 있습니까? 어떤 도움을 주셔서 감사합니다.변수를 사용하는 Iferror/Vlookup
Dim Lookup1 As Long
Dim LookupOffset As Long
Dim LRange As Range
Lookup1 = -99
LookupOffset = 28
Set LRange = Column("CU:CV")
With Worksheets("consolidated")
.Cells(2, 99).FormulaR1C1 = _
"=RC[-71]-IFERROR(VLOOKUP(RC[-12],C[-2]:C[-1],2,FALSE),0)"
.Cells(2, 99).Copy Range(.Cells(2, 99), .Cells(glLastRow, 99))
Application.CutCopyMode = False
.Calculate
End With
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Proposed Solution
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim Res As Variant
On Error Resume Next
Err.Clear
Res = Application.WorksheetFunction.VLookup(Lookup1 - LookupOffset, LRange, 2, False)
If Err.Number = 0 Then
''''''''''''''''''''''''''''''''''''''''''''''''''''
' Value found by VLookup. Continue normal execution.
'''''''''''''''''''''''''''''''''''''''''''''''''''''
Else
''''''''''''''''''''''''''''''''''''''''''''''''''''
' Value NOT found by VLookup. Error handling code here.
'''''''''''''''''''''''''''''''''''''''''''''''''''''
End If
두 가지 : 'VLOOKUP'에 해당하는 '일반'공식은 무엇입니까 (위의 내용을 이해할 수 있지만 확실하길 원합니다). 실제로 VLOOKUP이어야합니까? VBA를 사용하는 간단한 오프셋은 설정이 상대적으로 빠릅니다. – Manhattan