2013-04-22 1 views
2

두 개의 배열이 있는데 그 중 일반적인 값을 추출하려고합니다. findUniques 함수는 다음과 같습니다. 문자열을 연결하고 쉼표로 구분하여 반환합니다. 나는 가깝다고 생각하지만 잘못된 것을 발견 할 수 없다. 나는 10할당의 왼쪽에있는 함수 호출은 Variant 또는 Object를 반환해야합니다. 두 개의 배열에서 공통 값을 찾습니다.

Function findUniques(astrArray1() As String, astrArray2() As String) As String 


Dim blnMP5 As Boolean 
blnMP5 = False 

Dim counter1 As Long 
Dim counter2 As Long 


For counter1 = LBound(astrArray1) To UBound(astrArray1) 
    For counter2 = LBound(astrArray1) To UBound(astrArray2) 
     If astrArray1(counter1) = astrArray2(counter2) Then 
      blnMP5 = False 
     If blnMP5 = True Then 
    findUniques() = findUniques & "," & "astrArray1()" 

End If 
End If 

Next counter2 
Next counter1 

End Function 

답변

0

여기 와서 당신이 문자열

희미한 tempString을 구축하고 문자열을 보유하는 변수를 선언하고 라인 (10)에이를 추가 할 수 있습니다 tempString = tempString & ","& astrArray1 (카운터 1)

그리고 마지막으로 findUniques = tempString 종료 기능

+0

완벽한! 도움을 주셔서 감사합니다 – user2217895

+0

문제의 원인은 Kenneth의 대답에서 확인 된 것 같습니다. 현재의 답변이 OP의 문제를 해결했지만 오류의 원인이 된 행을 제거했기 때문일 수 있습니다. 이주의 사항은 보조 문자열 변수를 사용하여 문제를 없애는 것이 필수적이지 않다는 것을 목표로합니다. –

2

귀하의 오류가이 라인에 라인에서 오류가 발생합니다 : 당신이 이해가되지 않는 함수 호출에 값을 할당하려고

findUniques() = findUniques & "," & "astrArray1()" 

. 이, 당신은 당신의 기능을 수정해야 컴파일러 오류를 해결할 수 있지만 있기 때문에,

Function findUniques(astrArray1() As String, astrArray2() As String) As String 

    Dim blnMP5 As Boolean 
    blnMP5 = False 

    Dim counter1 As Long 
    Dim counter2 As Long 

    Dim uniquesString as String = "" 

    For counter1 = LBound(astrArray1) To UBound(astrArray1) 
     For counter2 = LBound(astrArray1) To UBound(astrArray2) 
      If astrArray1(counter1) = astrArray2(counter2) Then 
       blnMP5 = False 
       If blnMP5 = True Then 
        uniquesString = uniquesString & "," & "astrArray1()" 
       End If 
      End If 
     Next counter2 
    Next counter1 
End Function 

을 :

당신은 그것을 돌려 결국 함수의 시작 부분에 변수를 선언하고 그 하나를 추가하는 방법에 대한 유지한다 그것은 매우 논리적이지 않습니다. 어쨌든, 그것을 밖으로 시도하고 당신이 다른 문제가있는 경우, 당신은 다시

관련 문제