Wednesday, February 28, 2007
Excel/엑셀 VBA] 숫자 앞에 공백 추가, 자릿수 맞추기 함수; Add Leading Spaces to Number
엑셀 비베에서, 숫자 앞의 빈 자리에 영(0)을 추가하는 것은 Format 함수로 가능하지만, 아래와 같이 숫자 앞에 공백(스페이스)을 추가하는 것은 되지 않았습니다. 엑셀의 특성상, 숫자 앞에 공백을 넣어야 할 경우가 아주 드물기에 그런 것 같습니다.
그래서 그런 일을 하는 함수를 만들었습니다.
leadingSpaces(숫자, 자리수)
이런 형식으로 사용합니다.
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
(공백 문자가 앞에 붙어 있는지 아닌지 알아 보기 쉽도록, 숫자 양옆에 대괄호를 붙였습니다.)
숫자 앞에 0 추가: ▶▶ Excel/엑셀 VBA] 숫자 앞에 공(0), 제로(영) 붙이기-추가. Leading Zero to Number
[ 5]
[ 55]
[555]
[ 55]
[555]
그래서 그런 일을 하는 함수를 만들었습니다.
leadingSpaces(숫자, 자리수)
이런 형식으로 사용합니다.
숫자 여백에 스페이스(Space) 문자 넣기 예제; printf() 함수처럼
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
(공백 문자가 앞에 붙어 있는지 아닌지 알아 보기 쉽도록, 숫자 양옆에 대괄호를 붙였습니다.)
Sub Add_Leading_Spaces_Example()
MsgBox "[" & leadingSpaces(5, 3) & "]"
' 출력 결과: [ 5]
MsgBox "[" & leadingSpaces(55, 3) & "]"
' 출력 결과: [ 55]
MsgBox "[" & leadingSpaces(555, 3) & "]"
' 출력 결과: [555]
End Sub
Function leadingSpaces(n, digits)
Dim I, Space
If (Len(n) < digits) Then
For I = 1 To digits - Len(n)
Space = Space & " "
Next I
End If
leadingSpaces = Space & n
End Function
MsgBox "[" & leadingSpaces(5, 3) & "]"
' 출력 결과: [ 5]
MsgBox "[" & leadingSpaces(55, 3) & "]"
' 출력 결과: [ 55]
MsgBox "[" & leadingSpaces(555, 3) & "]"
' 출력 결과: [555]
End Sub
Function leadingSpaces(n, digits)
Dim I, Space
If (Len(n) < digits) Then
For I = 1 To digits - Len(n)
Space = Space & " "
Next I
End If
leadingSpaces = Space & n
End Function
숫자 앞에 0 추가: ▶▶ Excel/엑셀 VBA] 숫자 앞에 공(0), 제로(영) 붙이기-추가. Leading Zero to Number
tag: office
엑셀 Excel | 워드 Word | VBA 매크로 | 오피스
좋은 자료 감사합니다.
<< Home