728x90

[VBA기초] 틀리기 쉬운 사소한 실수


엑셀 Exact 함수로 두 셀간의 정확성 검사를 했다.

결과가 TRUE, FALSE 라고 대문자로 셀에 표시된다. 전부 값으로 변경하고 나서 CTRL + H 로 전부 1 또는 0 으로 변경하는 작업을 했더니 처리시간이 좀 걸린다.

그래서 아래 VBA 코드를 만들어서 검사식을 If rngC.Value = "TRUE" 라고 했더니 변화되는 것이 전혀 없다.

분명히 셀에 표시되는 것에는 값으로 TRUE 라고 나와 있으니까, 당연히 제대로 맞을 거라고 봤는데 ㅠㅠㅠㅠ

그래서 Msgbox rngC.Value 로 값을 확인해 봤더니 돌려주는 갑이 True 라고 돌려준다.

이런 제길~~~ 화면에 보여주는 건 대문자로 보여줘서 대문자가 맞나 했더니 다르게 돌려준다.

혹시 이런 사소한 실수를 하고 있는 건 아닌지 검증하는 작업은 Msgbox 를 이용하여 화면에 띄워보거나

Debug.Print 변수

한줄을 넣고 검사해보는 겁니다.


Sub TRUE검사()

    Dim rngC As Range

    Dim rngAll As Range

    Dim i As Integer

    

    ActiveCell.Select    '// 현재 커서가 위치한 셀

    Set rngAll = Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(3))

    For Each rngC In rngAll

        If rngC.Value = "True" Then

            rngC.Value = 1

            i = i + 1

        End If

    Next rngC

    

    Set rngAll = Nothing

    MsgBox "총 " & i & "개 변환"

End Sub

블로그 이미지

Link2Me

,