2014-12-02 2 views
0

문자열의 현재 값이 주어진 문자열에 이미 있는지 확인하려고합니다. 상위 문자열 (셀의 현재 문자열, 활성 셀) 및 검색 문자열에 두 개의 변수를 사용하고 있습니다. 현재 문자열이 부모 문자열에 정확히 존재하면 동일한 내용을 붙여 넣을 것인지 묻는 메시지 상자가 나타납니다.유형 불일치 오류 두 문자열 변수가있는 InStr

첫 번째 IF 조건에서 형식 불일치 오류가 발생합니다. 문제가 무엇인지 이해하도록 도와 주시겠습니까?

If (InStr(ActiveCell.Value, NRemark, vbBinaryCompare)) = 0 Then 
Exit Sub 
Else 
Lresponse = MsgBox("You have already synced the same content . Would you like to continue ?", vbYesNo) 
    If Lresponse = vbYes Then 
    GoTo V1 ' goes to the loop to append NRemark to the parent string 
    Else 
    Exit Sub 
    End If 
End If 

답변

1

하는 InStr이의 인수를 살펴 보자

기능 InStr을

([시작], [문자열 1], [문자열 2], [VbCompareMethod = vbBinaryCompare으로 비교]) 첫 번째 인수는 [시작]이며,이 경우에는 1의 상수 여야합니다.

만약 당신이 오류가있는 빈 셀, 세포가 발생할 때까지 (InStr이는 (1, ActiveCell.Value, NRemark, vbBinaryCompare)) = 그럼 0 ...

이, 적어도 일시적으로 작동합니다 , 등등.이 경우 다시 깨질 것입니다.

또한 NRemark 변수가 어떤 유형인지 알 수 없습니다. 문자열이어야하므로 셀이라면 NRemark.Value를 입력해야합니다.

+0

NRemark는 셀의 문자열 내용입니다. NRemark.value를 입력해야합니까? – dagan

관련 문제