엑셀 VBA, UCase 와 LCase 함수를 사용해서 대문자, 소문자 변경하는 방법 |
환경: Microsoft Excel 2013 |
VBA 를 이용해서 셀에 있는 값을 인수로 받아 대문자와 소문자를 변경해 주는 함수를 만들어 보겠습니다. VBA 에서 대소문자를 변경하는 함수는 UCase 와 LCase 입니다. UCase 는 대문자로 변경해 주고 LCase 는 소문자로 변경합니다. 이것을 하나의 함수로 만들겠습니다.
▼ 먼저 대소문자 변경을 위한 사용자 정의 함수를 등록해야 합니다. 일반 함수처럼 등록해서 사용하려면 Function 프로시저로 작성해야 합니다. 함수명은 UCaseToLCase 입니다. 참고로 함수명 앞에 붙는 Function 과 Sub 프로시저의 차이점에 대해서 알아 보겠습니다. 간단하게 말해서 결과값을 리턴을 할 수 있냐, 없느냐의 차이입니다.
l Function 프로시저 : 리턴값이 없으며 코드의 내용을 수행하고 끝난다.
l Sub 프로시저 : 코드에 내용을 수행하고 값을 리턴 할 수 있다.
▼ 함수를 만들기 위해 개발 도구 탭을 클릭한 후 Visual Basic 리본 메뉴를 선택합니다.
▼ VBA 코드 편집기가 뜨면 아래 소스를 넣습니다. 함수명은 UCaseToLCase 이며, div 파라미터에 따라서 대소문자로 변경 여부를 결정합니다. UCase() 함수는 텍스트를 대문자로 변경하고 LCase() 는 소문자로 변경합니다. 소스는 다음과 같습니다.
Public Function UCaseToLCase(div As Integer, val As String)
'div=1 대문자로, div=2 소문자로
If div = 1 Then UCaseToLCase = UCase(val) Else UCaseToLCase = LCase(val) End If End Function |
▼ 직접 만든 함수를 사용하기 위해 함수 마법사를 띄웁니다. 그리고 범주에서 사용자 정의 를 선택하면 위에서 만든 함수명이 리스트에 나타납니다.
▼ 함수를 선택하면 입력해야 되는 두 개의 인수 입력란이 나타납니다. 위에서 설명했듯이 Div 는 1 일 때 대문자로 변경하고 2일 때는 소문자로 바꿔 줍니다.
▼ Div 인수에 1을 넘긴 결과 모든 데이터는 대문자로 변경이 되었습니다. 이상으로 사용자 정의 함수를 사용해서 대소문자 변경 기능을 합쳐 보았습니다.
댓글을 달아 주세요