엑셀 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을 넘긴 결과 모든 데이터는 대문자로 변경이 되었습니다. 이상으로 사용자 정의 함수를 사용해서 대소문자 변경 기능을 합쳐 보았습니다.
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA Application.Evaluate 사용해서 수식 계산하기 (0) | 2022.07.07 |
---|---|
엑셀 VBA 개체, 속성, 함수, 이벤트 사용법과 사례 검색해서 참고하기 (0) | 2022.04.26 |
엑셀 VBA 콤보박스 ComboBox 의존 관계 데이터 선택 기능 만드는 방법 (1) | 2019.02.28 |
엑셀 VBA Application.GoTo 함수로 시트에 커서 강제 이동시키는 방법 (0) | 2019.01.05 |
엑셀(Excel) VBA 메모의 내용을 바로 옆 셀에 표시하는 방법 (8) | 2018.06.06 |
엑셀(Excel) VBA – 다른 시트의 값을 가져와서 데이터를 추가하는 방법 (4) | 2018.04.18 |
엑셀 VBA 동일한 셀의 배경색을 구분하여 값을 합산하는 방법 (7) | 2018.02.01 |
엑셀 Excel UserForm 에 멀티 페이지 구현을 위해 탭 추가하는 방법 (0) | 2017.09.26 |