엑셀 QR코드, 무제한 무료로 만드는 쉬운 방법 | 모든 버전 가능
엑셀과 구글에서 무료로 제공하는 QR코드 API를 사용해 무제한, 무료로 QR코드를 만드는 방법을 알아봅니다.🔥
이 강의에서는 구글에서 무료로 제공하는 QR코드 API와 IMAGE 함수를 활용해, 엑셀 데이터에 따라 실시간으로 갱신되는 QR코드를 만드는 방법을 다룹니다. M365 이전 버전에서도 동일하게 동작하는 xIMAGE 사용자 정의 함수까지 함께 정리해, 자동화 명함 서식을 직접 완성할 수 있습니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
엑셀 QR코드, 함수로 손쉽게 연동하기
QR코드는 재고 관리, 가격 계산, 자격 증명 등 일상 업무 곳곳에서 사용됩니다. 만약 QR코드를 단 몇 번의 클릭만으로 엑셀 데이터와 연동해 실시간으로 생성할 수 있다면, 반복 작업이 크게 줄어들 것입니다.

이번 강의에서는 구글에서 무료로 제공하는 QR코드 API를 활용해, 복사·붙여넣기만으로 엑셀에서 QR코드를 연동하고 자동화 명함을 만드는 방법을 단계별로 살펴보겠습니다.
- QR코드 API 살펴보기 : 아래 링크를 클릭해 구글 QR코드 API 설명 페이지로 이동하면, QR코드 API의 사용법을 확인할 수 있습니다.
오빠두Tip : 물음표(?)와 앤드(&) 기호만으로 API 구조를 이해하는 방법은 아래 10분 기초 강의에서 자세히 다룹니다.
- QR코드 생성 URL 만들기 : QR코드로 연결할 네이버 검색 페이지의 링크를 만들어보겠습니다. 예제파일을 실행한 뒤, C1셀에 미리 작성된 네이버 검색 URL을 복사해 A1셀에 붙여넣기 합니다. A2셀에는 검색할 단어를 입력하고, A3셀에 아래 수식을 작성하면 해당 단어를 검색하는 네이버 검색 URL이 완성됩니다.
=A1&A2

- 이제 해당 URL로 이동하는 QR코드를 생성하는 최종 URL을 작성합니다. C5셀에 미리 작성된 구글 QR코드 API의 기본 URL을 복사해 A5셀에 붙여넣은 뒤, A6셀에 "=A5&A3" 수식을 입력하면 QR코드를 생성하는 최종 URL이 완성됩니다. 특정 데이터를 포함한 QR코드를 출력하는 최종 URL의 형태는 다음과 같습니다.
https://chart.googleapis.com/chart?cht=qr&chs=500x500&chl=데이터https://api.qrserver.com/v1/create-qr-code/?data=데이터
'2024년 4월부터 구글 QR코드 API가 중단됐습니다. 위 API 주소를 사용하세요!
'위 URL에서 "데이터"를 원하는 값 또는 URL주소로 변경해 사용합니다.

- 완성된 URL을 복사한 뒤, 크롬이나 엣지 등 브라우저 주소창에 입력해보세요. 네이버 검색 결과로 이동하는 QR코드가 생성됩니다.

- QR코드 이미지 출력하기 : 마지막으로 IMAGE 함수를 사용해 QR코드를 엑셀 안에 이미지로 출력하면, 엑셀과 QR코드가 실시간으로 연동됩니다. A7셀에 아래 수식을 작성한 뒤 엔터키로 입력하면, QR코드 이미지가 셀 안에 출력됩니다.
=IMAGE(A6)
'A6셀에 작성된 URL주소의 이미지를 셀 안에 출력합니다.
- 2023년 7월 기준, IMAGE 함수는 M365 버전에서만 제공됩니다. 따라서 M365 이전 버전 사용자가 IMAGE 함수를 사용하면 아래 그림과 같이 #NAME? 오류가 반환됩니다. 이 경우 다음 섹션에서 정리하는 xIMAGE 사용자 정의 함수를 활용해 QR코드를 실시간으로 출력할 수 있습니다.

엑셀 xIMAGE 함수 사용법 (M365 이전 버전)
- 매크로 편집기 실행하기 : 셀 안에 이미지를 출력하는 IMAGE 함수는 M365 버전에서만 제공되므로, 엑셀 2021 이전 버전 사용자는 VBA 사용자 정의 함수를 활용해 동일한 결과를 구현할 수 있습니다(2023년 7월 기준). 엑셀에서 단축키 Alt + F11 을 누르거나 [개발도구] - [Visual Basic] 버튼을 클릭해 매크로 편집기를 실행합니다.
오빠두Tip : [개발도구] 탭이 보이지 않을 경우, 리본 메뉴를 우클릭한 뒤 '리본메뉴 사용자 지정'에서 '개발도구' 탭을 체크하고 [확인] 버튼을 누르면 개발도구 탭이 활성화됩니다. - xImage 함수 붙여넣기 : 매크로 편집기에서 [삽입] 탭 - [모듈]을 클릭해 새 모듈을 추가한 뒤, 아래 명령문을 복사해 모듈 안에 붙여넣기 합니다.
Function xIMAGE(Link, Optional Margin As Long = 0, Optional UpdateImage As Boolean = True) '############################################################### '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com) '수정 및 배포 시 출처를 반드시 명시해야 합니다. '■ xIMAGE 함수 '■ 인터넷 URL 또는 특정 파일 경로의 이미지를 삽입합니다. '■ 사용방법 '=xImage("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png") '■ 인수 설명 '_____________Link : 웹 URL 또는 파일 경로입니다. 웹 URL일 경우 링크는 반드시 https:// 또는 http:// 로 시작해야 합니다. '_____________Margin : 셀 안에 삽입할 그림에 여백을 줍니다. 픽셀 단위로 입력합니다. 기본값은 0(=여백없음)입니다. '_____________UpdateImage : TRUE 일 경우 기존 셀 안에 삽입되어 있던 그림을 삭제하고 새로운 그림으로 갱신합니다. 기본값은 TRUE 입니다. '############################################################### Dim aRng As Range: Dim aWS As Worksheet Dim shpImg As Shape On Error Resume Next Set aRng = Application.Caller Set aWS = aRng.Parent Application.EnableEvents = False If IsEmpty(Link) Then xIMAGE = CVErr(xlValue): Exit Function For Each shpImg In aWS.Shapes If shpImg.TopLeftCell.Address = aRng.Address Then If UpdateImage = True Then shpImg.Delete Else xIMAGE = True GoTo Final Exit Function End If End If Next Set shpImg = aWS.Shapes.AddPicture(Link, msoFalse, msoTrue, _ aRng.Left + Margin, aRng.Top + Margin, _ aRng.MergeArea.Width - Margin * 2, aRng.MergeArea.Height - Margin * 2) shpImg.Placement = xlMoveAndSize If shpImg Is Nothing Then xIMAGE = CVErr(xlValue) Else xIMAGE = True End If Final: Set shpImg = Nothing: Set aRng = Nothing: Set aWS = Nothing Application.EnableEvents = True End Function
- 명령문을 붙여넣은 뒤 매크로 편집기를 종료하고 다시 엑셀로 돌아옵니다. A7셀을 선택한 상태에서 xImage 함수를 작성하면 아래 그림과 같이 함수 자동완성 목록에 xImage가 표시됩니다. A7셀에 =xImage(A6) 으로 수식을 작성하고 엔터키로 입력하면, 셀 안에 QR코드 이미지가 출력됩니다.

- 매크로 통합문서로 저장하기 : 엑셀 통합문서에 VBA 코드를 추가했다면, "매크로 사용 통합문서(*.xlsm)" 형식으로 저장해야 다음에 파일을 열었을 때 사용자 정의 함수가 정상적으로 동작합니다. [파일] 탭 - [다른 이름으로 저장]을 클릭하거나 단축키 F12를 눌러 다른 이름으로 저장 창을 실행한 뒤 '매크로 사용 통합문서' 형식으로 저장합니다.

실시간으로 업데이트되는 QR코드 명함 만들기
이제 마지막 단계입니다. 출력한 QR코드 이미지를 '연결된 그림'으로 복사·붙여넣기 한 뒤, 검색할 단어를 변경하면 명함 안의 QR코드가 실시간으로 갱신되는 자동화 서식을 완성하겠습니다.
- 명함 안에 QR코드 연동하기 : 이미지가 포함된 A7셀을 선택합니다. xImage 함수를 사용한 경우, A7셀을 클릭하면 셀이 아닌 '그림'이 선택되므로 주의해야 합니다. 이때는 A8셀을 먼저 선택한 뒤 왼쪽 방향키로 한 칸 이동해 A7셀을 정확히 선택할 수 있습니다.

- 셀을 복사한 뒤 [명함 만들기] 시트로 이동합니다. 비어 있는 임의의 셀을 우클릭하고 [선택하여 붙여넣기] - [확장]을 펼친 다음, 목록에서 '연결된 그림'을 선택하면 A7셀의 이미지가 연결된 그림으로 붙여넣어집니다.

- QR코드 가장자리의 여백을 정리합니다. 붙여넣은 그림을 선택한 뒤 [그림 서식] - [자르기]를 사용해 가장자리를 잘라냅니다.

- 완성된 QR코드를 명함 안 적절한 위치로 옮기면, 검색할 단어를 변경할 때마다 실시간으로 갱신되는 명함이 완성됩니다.

- 값이 실시간으로 바뀌는 텍스트상자 : 마지막으로 검색할 단어를 명함 안에 함께 표시하겠습니다. [삽입] - [텍스트 상자] - [가로 텍스트 상자]를 선택해 새 텍스트 상자를 추가합니다. 텍스트 상자가 선택된 상태에서 '수식 입력줄'을 클릭한 뒤 등호(=)를 입력하고, [QR코드API실습] 시트의 A2셀을 선택합니다. 엔터키로 수식을 확정하면 텍스트 상자의 값이 A2셀의 값과 실시간으로 연동됩니다.

- 텍스트 상자의 크기를 적절히 조정한 뒤 도형 채우기와 도형 윤곽선을 모두 '없음'으로 설정하고 위치를 정리하면, 엑셀 QR코드 자동화 명함 서식이 완성됩니다.

+추가
처음 강의 들은 이후로 엄청 잘 쓰고 있었는데요. 오늘 자료 만들다가 문제가 있어서 질문게시판 통해서 귀인을 만나 해답을 얻었습니다.
https://www.oppadu.com/question/?uid=59811&mod=document&pageid=1#kboard-comments-59811
A6 셀의 수식에 A3앞에 encodeurl이 붙으면 더 완벽할 것 같습니다!
24년 4월부터 구글QR코드 서비스 제공이 중단되어 링크를 변경했습니다.
https://api.qrserver.com/v1/create-qr-code/?data=주소
위 URL을 사용해보세요 :)
데이터 매트릭스 출력을 무료로 제공하는 API는 현재 없는 것으로 알고 있습니다.