엑셀에서 텍스트 데이터를 안전하게 전송하거나 저장하려면 인코딩 작업이 필요합니다. 특히 Base64 인코딩은 이메일 첨부파일이나 웹 API 통신에서 널리 쓰이는 대표적인 방식입니다. 이번 글에서는 VBA(Visual Basic for Applications)를 활용해 엑셀에서 직접 데이터를 인코딩하는 사용자 정의 함수를 만들고 적용하는 방법을 단계별로 살펴봅니다.
1단계 – 적절한 매개변수로 데이터셋 준비하기
먼저 인코딩할 데이터가 담긴 데이터셋을 준비합니다. 아래 이미지처럼 이름 정보가 열 형태로 정리된 예제 데이터를 사용합니다.

2단계 – 개발 도구 탭 활성화하고 Visual Basic 실행하기
엑셀에는 매크로와 VBA 코드를 실행할 수 있는 개발 도구(Developer) 탭이 기본으로 내장되어 있습니다. 다만 초기 설정에서는 비활성화되어 있기 때문에, 엑셀 창 상단 리본 메뉴에 표시하려면 메뉴 모음의 옵션(Options)에서 먼저 활성화해야 합니다.
- 개발 도구 탭을 엽니다.
- Visual Basic 명령을 클릭합니다.

3단계 – VBA 사용자 정의 함수 만들기
- Visual Basic 편집기 창이 열립니다.
- 상단 메뉴의 삽입(Insert) 옵션에서 모듈(Module)을 선택해 VBA 코드를 작성할 공간을 마련합니다.

- 아래 VBA 코드를 모듈에 그대로 붙여넣습니다.
- 작성한 코드를 저장합니다.
Function Encoding(text$)
Dim i
With CreateObject("ADODB.Stream")
.Open: .Type = 2: .Charset = "utf-8"
.WriteText text: .Position = 0: .Type = 1: i = .Read
With CreateObject("Microsoft.XMLDOM").createElement("b64")
.DataType = "bin.base64": .nodeTypedValue = i
Encoding = Replace(Mid(.text, 5), vbLf, "")
End With
.Close
End With
End Function

4단계 – 엑셀 시트에서 데이터 인코딩 실행하기
- 워크시트로 돌아가 B5 셀에 다음 수식을 입력합니다.
=Encoding(A5)
- Enter 키를 누릅니다.

- 첫 번째 사람에 대한 인코딩 결과가 표시됩니다.
- 채우기 핸들(Fill Handle) 도구를 이용해 B5 셀에서 B11 셀까지 아래로 드래그합니다.

- 아래 이미지와 같이 전체 행의 인코딩 결과가 한 번에 완성됩니다.

함께 읽으면 좋은 글
엑셀 파일의 인코딩 상태를 확인하는 방법도 함께 참고해 보세요.
연습용 워크북 다운로드
관련 글
- 엑셀에서 인코딩 변경하는 방법
- [해결됨!] 엑셀에서 CSV UTF-8 옵션이 보이지 않을 때
- 엑셀에서 CSV 파일에 UTF-8 인코딩 적용하는 방법
- 엑셀에서 Base64 디코딩하는 방법
<< 엑셀 인코딩 | 엑셀 파일 | 엑셀 배우기로 돌아가기
무료 고급 엑셀 연습 문제와 해답 받기!