엑셀 VBA, UCase LCase 함수를 사용해서 대문자, 소문자 변경하는 방법

 

환경: Microsoft Excel 2013

 

VBA 를 이용해서 셀에 있는 값을 인수로 받아 대문자와 소문자를 변경해 주는 함수를 만들어 보겠습니다. VBA 에서 대소문자를 변경하는 함수는 UCase LCase 입니다. UCase 는 대문자로 변경해 주고 LCase 는 소문자로 변경합니다. 이것을 하나의 함수로 만들겠습니다. 

 

먼저 대소문자 변경을 위한 사용자 정의 함수를 등록해야 합니다. 일반 함수처럼 등록해서 사용하려면 Function 프로시저로 작성해야 합니다. 함수명은 UCaseToLCase 입니다. 참고로 함수명 앞에 붙는 Function Sub 프로시저의 차이점에 대해서 알아 보겠습니다. 간단하게 말해서 결과값을 리턴을 할 수 있냐, 없느냐의 차이입니다.

 

l  Function 프로시저 : 리턴값이 없으며 코드의 내용을 수행하고 끝난다.

l  Sub 프로시저 : 코드에 내용을 수행하고 값을 리턴 할 수 있다.

 

함수를 만들기 위해 개발 도구 탭을 클릭한 후 Visual Basic 리본 메뉴를 선택합니다. 

엑셀 VBA, UCase 와 LCase 함수를 사용해서 대문자, 소문자 변경하는 방법


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

 

직접 만든 함수를 사용하기 위해 함수 마법사를 띄웁니다. 그리고 범주에서 사용자 정의 를 선택하면 위에서 만든 함수명이 리스트에 나타납니다.

엑셀 VBA, UCase 와 LCase 함수를 사용해서 대문자, 소문자 변경하는 방법

 

함수를 선택하면 입력해야 되는 두 개의 인수 입력란이 나타납니다. 위에서 설명했듯이 Div 1 일 때 대문자로 변경하고 2일 때는 소문자로 바꿔 줍니다.

엑셀 VBA, UCase 와 LCase 함수를 사용해서 대문자, 소문자 변경하는 방법

 

Div 인수에 1을 넘긴 결과 모든 데이터는 대문자로 변경이 되었습니다. 이상으로 사용자 정의 함수를 사용해서 대소문자 변경 기능을 합쳐 보았습니다. 

엑셀 VBA, UCase 와 LCase 함수를 사용해서 대문자, 소문자 변경하는 방법

 

Posted by 녹두장군