0
그래서 일반 VLOOKUP처럼 작동하지만 여러 값을 순환하여 반환하는 함수에서 작업하고 있습니다. 내 문제는 지금 어떻게 내가 다음 코드를 구분 기호로 여러 값을 출력 할 수 있는지 잘 모르겠다는 것입니다. (즉, "결과 1, 결과 2, 결과 3") 쉬운 방법이 있거나 내가 여기있는 것을 해결하면 조언을 구할 것입니다.구분 기호를 사용하여 VLOOKUP 스타일 함수를 반복하십시오.
Function KVLOOKUP(LookedValue As Variant, Matrix As Variant, Column As Integer) As Variant
Dim Result() As Integer
Dim i As Integer
Dim Counter As Long
If IsObject(Matrix) Then Matrix = Matrix.Value
On Error Resume Next
Do
i = i + 1
Counter = UBound(Matrix, i)
Loop Until Err.Number <> 0
If Counter < Column Then KVLOOKUP = CVErr(xlErrNum): Exit Function
Counter = 0
For i = LBound(Matrix, 1) To UBound(Matrix, 1)
If Matrix(i, 1) = LookedValue Then
Counter = Counter + 1
ReDim Preserve Result(1 To Counter)
Result(Counter) = Matrix(i, Column)
End If
Next i
On Error GoTo 0
If Counter = 0 Then
KVLOOKUP = CVErr(xlErrNA)
Else
KVLOOKUP = Insert command to add separator and output values here.
End If
End Function
한 가지 방법을 당신의 배열을 만들고 그 값을 보유하는 문자열을 만듭니다. stringValue = stringValue & "|"와 같은 것 & Array (indexCounter) ... – sous2817
@ sous2817이 코드는 빌린 코드이므로 구현하지 않아도됩니다. – ryano