엑셀(Excel) - VBA 숫자를 문자로 변환하는 방법 |
환경 : Microsoft Excel 2010
VBA에서 숫자를 문자로 바꿔야 하는 경우가 종종 있습니다. 숫자를 문자로 바꿀 수 있는 함수에는 두 가지가 있는데요. Str 과 Format 가 그것입니다. 함수 사용에 있어서 주의할 것은 숫자로 변환한 후 문자열 합치기를 하게 되는데, 그때 공백을 꼭 체크하셔야 합니다.
▼ 간단하지만 항상 찾게 되는 문자 변환 함수입니다. 문자로 변환하고 싶다면 Str 과 Format 를 사용하시면 됩니다. 보통 문자로 변환하는 이유가 숫자를 문자와 합쳐서 문자열을 만들고 싶을 때 입니다. 그런데 하나 체크해야 될 것이 Str() 함수는 변환 후 앞자리에 공백이 있을 수 있으므로 항상 Ltrim 으로 제거해 주는 것이 좋습니다.
Trim 은 공백 제거 함수 입니다. Ltrim 은 왼쪽 Left 의 약자를 앞에 붙인 것입니다. 그럼 Rtrim 이 있겠죠. 오른쪽 공백을 없애는 함수 입니다. 첫 번째 소스는 Str 함수를 이용해서 숫자를 문자로 변환한 것이며 그대로 로그에 찍으면 앞자리에 공백이 들어가 있는 것을 확인할 수 있습니다. 두 번째 소스는 Ltrim 을 이용해서 공백을 제거한 후 Debug.Print 를 이용해 로그에 찍어 본 것입니다. 세 번째는 Format 을 이용해서 변환한 것입니다.
Sub 시트추가_Click()
Dim 변환문자 As String
' 숫자를 문자열로 변환 변환문자 = Str(222) 변환문자 = "[" & 변환문자 & "]" Debug.Print 변환문자
'변환하게 되면 공백이 생긴다. 공백제거를 위해 LTrim 함수사용 변환문자 = Str(222) 변환문자 = LTrim(변환문자) 변환문자 = "[" & 변환문자 & "]" Debug.Print 변환문자
' 숫자를 문자열로 변환 변환문자 = Format(222) 변환문자 = "[" & 변환문자 & "]" Debug.Print 변환문자
End Sub |
▼ 위의 소스를 실행한 결과 입니다. 문자열 합치기를 했을 때 Ltrim 을 해주지 않으면 공백이 남는다는 것을 알수 있습니다.
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 값 숫자 여부 판단하는 IsNumberic 함수 사용하기 (2) | 2022.02.21 |
---|---|
엑셀 VBA - Value, Formula, FormulaR1C1, Text 속성으로 값 입력 및 읽기 (0) | 2022.02.05 |
엑셀 VBA GoTo 문 이용해서 줄로 분기하기 (2) | 2022.02.03 |
엑셀 VBA For Each 반복문 이용해서 셀 영역 병합 및 합계 구하기 (0) | 2022.01.30 |
엑셀 VBA 콤보박스 ComboBox 의존 관계 데이터 선택 기능 만드는 방법 (1) | 2019.02.28 |
엑셀 VBA Application.GoTo 함수로 시트에 커서 강제 이동시키는 방법 (0) | 2019.01.05 |
엑셀 VBA, UCase 와 LCase 함수를 사용해서 대문자, 소문자 변경하는 방법 (0) | 2018.09.09 |
엑셀(Excel) VBA 메모의 내용을 바로 옆 셀에 표시하는 방법 (8) | 2018.06.06 |