[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
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
텍스트 숫자(문자열 숫자)를 숫자로 일괄 변경 VBA (0) | 2014.12.09 |
---|---|
고급 Split 함수 사용법 (0) | 2014.10.31 |
[VBA기초] 좌우공백 제거 카운트 (0) | 2014.09.07 |
[VBA기초] 글꼴 정리 (0) | 2014.09.02 |
[VBA기초] 셀 병합하기 및 셀 병합 해제 (0) | 2014.07.26 |