안녕하세요

VBA에서 형식에 관한 문의가 있어서 남기게 되었습니다.

예를들어
If txtID.value = sht_T_지출결의서리스트.Cells(1, sht_T_지출결의서리스트.columns.count).End(xlToLeft).value Then

이런 내용의 코드가 있을 때 txtID.value의 형식은 string 으로 됩니다.

txtID.value도 숫자이고

sht_T_지출결의서리스트.Cells(1, sht_T_지출결의서리스트.columns.count).End(xlToLeft).value도 숫자인데

txtID.value의 형식은 string으로 되고

sht_T_지출결의서리스트.Cells(1, sht_T_지출결의서리스트.columns.count).End(xlToLeft).value의 형식은 double로 되어서 CDbl(txtID.value) 로 작성해야 코드가 진행이 됩니다...

위의 있는 코드로 작성해서 진행될 수 있게 하는 방법은 없을까요..?!

 

그리고 위의 코드와 같은 폼에서 진행되는 아래의 코드입니다.
If sht_T_지출결의서항목.Cells(i, 2) = CStr(txtID.value)

여기서는 오히려 txtID.value string 형식임에도 불구하고 Cstr을 붙여줘야만 코드가 진행이 되는데 도대체 이 문제가 왜 발생하고 해결방법은 없는지 너무 궁금합니다..