2017-12-22 3 views
0

나는 VBA에 초보자 그래서 난 다음에 대해엑셀 VBA : 형식 불일치 설명

형식 불일치 오류

을받을 이유는 더 많은 경험을 가진 사람이 제발 설명 할 수있는 기대했다 해요 :

Private Sub cbbWeek_Change() 
txtWeekEnding = Application.VLookup(cbbWeek.Value, Worksheets("Formulas").Range("Q1:R53"), 2, False) 
End Sub 

관련성이 있는지는 잘 모르겠지만,

Q가 (셀 Q52)에서 52 (셀 Q1)에서 1 내지 번호 열 R은/mm dd는하기 형식의 날짜를 포함 포함

열/YYYY

+0

'cbbWeek.Value'는 무엇입니까? – SJR

+0

콤보 상자 선택 값 – watsonman88

+0

@ watsonman88 - 오류 줄 앞에'MsgBox (txtWeekEnding) '를 쓰면 어떻게됩니까? – Vityata

답변

3

VLOOKUP가 에러를 반환 아닌지 여부를 확인하기 위해 - 할당 변수에 반환 된 값. 변수가 오류가 있는지 확인하고 오류가없는 경우 - txtWeekending에 할당 :

Private Sub TestMe() 

    Dim checker   As Variant 
    Dim txtWeekending As Variant 

    checker = Application.VLookup("vityata", Range("A1:C53"), 2, False) 
    If Not IsError(checker) Then 
     Debug.Print checker 
     txtWeekending = checker 
    Else 
     Debug.Print checker 
    End If 

End Sub 

This is an article from CPearson, concerning the same problem을.

+1

놀라워요, 잘 작동합니다. 나는 또한 그것이 왜 보너스 인 오류를 생산하는지 이해하고있다! 감사합니다 – watsonman88

+0

@ watsonman88 - 감사 및 보너스에 대한 축하 :) – Vityata

+2

[이] (http://www.cpearson.com/excel/callingworksheetfunctionsinvba.aspx) 언급 할 가치가 있다고 생각합니다. – CommonSense