エクセルでQRコードを作成できることをご存じでしょうか?
しかも、ちょっとした工夫をすることで、複数のQRコードをまとめて自動で作成することも可能なんです。
名簿や商品コード、アンケートのURLなど、エクセル上に並んだデータからQRコードを一つずつ作るのはとても手間がかかりますよね。そんなときに便利なのが、関数やマクロ(VBA)を活用した自動生成の方法です。
本記事では、以下のような疑問やお悩みにお応えします。
-
複数のセルの内容をQRコードに一括変換したい
-
関数とVBA、それぞれどんな違いがあるの?
-
一番簡単で失敗しにくい方法を知りたい
-
用途に合った方法を選ぶにはどうしたらいい?
エクセル初心者の方でもわかりやすいように、関数で作る方法/VBAを使った一括生成/アドインを使う方法の違いを比較しながらご紹介します。
作業内容や目的に応じた最適な方法を見つける参考になれば幸いです。
ExcelでQRコードを複数作成する3つの方法
関数(QuickChart)を使ってセル内にQRコードを表示する
一番手軽にQRコードを複数作成したい場合におすすめなのが、「QuickChart」という無料のWebサービスを利用した方法です。
Excel関数と組み合わせることで、セルの値をもとにQRコード画像を自動生成できます。

QuickChartとは?
QuickChartは、URLの中に文字列やパラメータを埋め込むことで、QRコードやグラフなどを画像として生成できるWebサービスです。
特別なインストールは不要で、Excelの関数だけでQRコードを作成できるため、初心者でもすぐに使えるのが魅力です。
使用する関数の書き方(基本形)
-
A2
… QRコードにしたい文字列やURLが入力されたセル -
ENCODEURL()
… 日本語や記号をURL形式に変換する関数(※Excel 2013以降対応) -
IMAGE()
… 指定したURLから画像をセル内に表示する関数(Excel 365やWeb版で利用可能)
この関数を複数行にコピーするだけで、それぞれの行に対応したQRコードが自動的に表示されます。
QRコードが小さく感じる場合は、行の高さを調整しましょう。
関数で読み込んでいるため、セルの真ん中に配置したい場合はフォントと同様に中央ぞろえのボタンをクリックするとセルの真ん中に配置することができます。

メリットと注意点
【メリット】
-
数式だけでQRコードを自動生成できる
-
セルの内容を変更すれば、QRコードも自動で更新される
-
アドインやVBAが不要で、導入が簡単
【注意点】
-
QRコード画像はWeb上から都度取得されるため、大量に使うと表示が遅くなったり重くなる可能性があります
-
作成されたQRコードは「画像ファイル」ではなく、セル内に埋め込まれた外部画像です
→ 印刷や他のファイルで使いたい場合は、スクリーンショットやVBAなどで画像化する必要があります
関数によるQRコード生成は「とりあえず今すぐ複数作ってみたい!」という方にぴったりの方法です。
印刷や共有などに使う場合は、必要に応じて画像として保存する手間も考慮して選びましょう。
ExcelでQRコードを複数作成する3つの方法
QR4Officeアドインで1件ずつQRコードを作成する方法
Excelでは、「QR4Office」というMicrosoft公式のアドインを利用することで、セルの値をもとにQRコードを作成することも可能です。
アドインの操作はシンプルで、テキストやURLを入力し、「Insert」ボタンを押すだけでQRコードを画像として挿入できます。
少数のQRコード作成には便利
QR4Officeは以下のような場面で特に活躍します。
-
名刺やチラシに1〜2件だけQRコードを入れたい
-
デザインや色を細かく調整したい
-
作成したQRコードを画像オブジェクトとして保存・移動・印刷したい
ただし、一度に複数のQRコードを一括生成する機能はないため、数十件以上のQRコードを作りたい場合は他の方法を検討する方が効率的です。
詳しくはこちらの記事へ
QR4Officeを使ったQRコードの作成手順については、別記事で詳しくご紹介しています。
初めて使う方はこちらもぜひご覧ください。
> 関連記事:
エクセルでQRコードを作成する方法まとめ|画像保存や貼り付けの手順も解説!
このように、QR4Officeは手動操作でも確実に画像を作れる点が強みです。
「見た目を調整したい」「資料に使う画像が欲しい」といったニーズに適しています。
VBAを使って複数のQRコード画像を自動挿入する【QuickChart対応】
大量のQRコードを効率よく作成したい場合には、VBA(マクロ)を使って自動化する方法が非常に便利です。
特に商品リストや名簿、棚卸し表など、複数のデータをQRコード化して一括でExcelシートに貼り付けたいときに活躍します。
※VBAについての初期設定については以下の記事をご参考ください。
Excelでマクロを作るなら最初にやるべきVBAの基本設定とは?
Google Chart API終了にともなう注意点
以前はGoogle Chart APIを使ってQRコード画像を取得する方法が一般的でしたが、2024年にサービス提供が終了したため、現在はQuickChart.ioという外部サービスを使うのが主流となっています。
QuickChartは無料かつ登録不要で、安定したQRコード生成サービスとして人気があります。
サンプルVBAコード(QuickChart版)
以下のコードは、A列のセル値をQRコードに変換し、B列に画像として貼り付ける例です。
QuickChartから画像データを取得し、一時ファイルとして保存した後、Excelシートに挿入する構成となっています。
Sub QRコード一括生成_QuickChart版()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim cellValue As String
Dim qrURL As String
Dim filePath As String
Dim fileNum As Integer
Dim imgData() As Byte
Dim http As Object
Set ws = ThisWorkbook.Sheets("Sheet1")
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow
cellValue = ws.Cells(i, 1).Value
If cellValue <> "" Then
' QuickChart APIを使用したQRコードURL
qrURL = "https://quickchart.io/qr?text=" & Application.WorksheetFunction.EncodeURL(cellValue) & "&size=150"
' HTTP通信で画像データを取得
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", qrURL, False
http.Send
If http.Status = 200 Then
imgData = http.responseBody
filePath = Environ$("TEMP") & "\qr_temp_" & i & ".png"
fileNum = FreeFile
Open filePath For Binary As #fileNum
Put #fileNum, , imgData
Close #fileNum
' 保存した画像を貼り付け
With ws.Pictures.Insert(filePath)
.Left = ws.Cells(i, 2).Left + 10 'セルの左端から10point
.Top = ws.Cells(i, 2).Top + 5 'セルの上端から5point
.Width = 70 '高さ70
.Height = 70 '横幅70
End With
Else
MsgBox "QRコード取得に失敗しました(行 " & i & ")", vbExclamation
End If
End If
Next i
End Sub
ポイント解説
-
APIのURLを組み立ててQRコード画像を取得
-
取得した画像は一時ファイルに保存し、Excelに貼り付け
-
.Left
/.Top
の数値を調整することで、画像の表示位置を微調整可能です
※41行目 ’ 保存した画像を貼り付け コメント以降の箇所を調整します。
この方法が向いているケース
-
商品ラベルや管理表に大量のQRコードを一括で挿入したいとき
-
挿入したQRコードを印刷・保存・他の資料に貼り付けたいとき
-
QRコードの配置やサイズをVBAで自由にカスタマイズしたいとき
VBAを使った方法は初期設定こそ少し手間がかかりますが、一度仕組みを整えてしまえば、繰り返し利用や他ファイルへの応用も可能な強力な手段です。
業務での効率化を目指す方には、ぜひおすすめしたい方法のひとつです。
用途別!QRコード複数作成方法の選び方と注意点
関数のメリット・デメリットと向いているシーン
QuickChartを使った関数によるQRコード生成は、とにかく手軽で導入しやすいという大きな魅力があります。
特に、複数のセルにあるデータを一括でQRコードに変換したいけれど、VBAはちょっと難しそう…という方にはぴったりの方法です。
関数のメリット
-
数式をコピーするだけで複数のQRコードを一括生成できる
-
セルの値を変更すれば、QRコードも自動でリアルタイム更新される
-
アドインやマクロの設定が不要で、すぐに使い始められる
特に 10件〜20件程度のQRコードを作成したいときには、最も効率的な方法といえます。
関数のデメリット
一方で、以下のような注意点もあります。
-
QRコード画像はWeb上から読み込んで表示されるため、
件数が多いとExcelの動作が重くなる可能性があります -
表示されているQRコードは画像ファイルとして保存できない(スクリーンショット等が必要)
-
印刷物や他ソフトで使いたい場合には、画像化・トリミングの手間が発生する
この方法が向いているシーン
-
少量のQRコードをすぐに作りたい
-
社内用の一覧表にQRコードを載せて使いたい
-
VBAやマクロを使わずにエクセルだけで完結したい
-
QRコードをリアルタイムで更新・確認したい
関数によるQRコード生成は、スピード重視・導入簡単を求めるケースに最適な方法です。
ただし、QRコードを画像として保存したい・大量に作りたいといった場合には、他の方法と併用するのがよいでしょう。
用途別!QRコード複数作成方法の選び方と注意点
VBAでの一括生成はどう活かせる?
エクセルVBAを使えば、複数のセルに入力されたデータからQRコード画像を一括生成し、シート上に自動で貼り付けることができます。
特に、業務で数十件〜数百件のQRコードを効率よく扱いたい場合には、この方法が非常に役立ちます。
VBAの強みは「自動化」と「柔軟性」
-
ルールに沿ってセルを読み込み、同じサイズ・位置で整然と貼り付け可能
-
シート構成に合わせて配置や出力先を自由にカスタマイズできる
-
ボタンやイベントと組み合わせれば、ワンクリックで再生成も可能
たとえば、商品一覧や顧客リストなどから、個別のQRコードラベルを自動生成する仕組みもVBAなら実現できます。
向いている用途と場面
-
QRコードを「画像」として出力・保存したい
-
WordやPowerPointに貼り付けて資料として使いたい
-
印刷やラベル化を想定した業務用途
-
定期的にQRコードを更新・生成する業務プロセスの自動化
導入のハードルもある
もちろん、VBAには以下のような注意点もあります。
-
マクロの知識が必要(ただしコピペでもある程度使える)
-
実行環境によってはセキュリティ設定でブロックされることがある
-
他人とファイルを共有する場合、マクロ無効化による機能制限が起こることも
まとめ:VBAは業務効率化の強力な選択肢
一度作ってしまえば、繰り返し作業を高速で自動化できる点は、他の方法にはない大きなメリットです。
特に印刷や資料作成、業務への定着を考えるのであれば、VBAは非常に有効な選択肢といえるでしょう。
用途別!QRコード複数作成方法の選び方と注意点
アドイン(QR4Office)はどう使うのが正解?
Microsoft公式の「QR4Office」アドインを使えば、エクセル上でQRコードを手軽に作成できます。
アドインを挿入し、QRコードにしたいテキストやURLを入力するだけで、QRコードを画像としてシートに貼り付けることができます。
QR4Officeのメリット
-
QRコードが画像として挿入されるため、サイズや位置を自由に調整可能
-
貼り付けた画像はそのまま保存・印刷・他ファイルに貼り付けることも可能
-
アドインを入れるだけで、特別な関数やマクロの知識が不要
このように、操作が直感的でわかりやすいため、エクセル初心者でも安心して使えるのが大きな魅力です。
制限事項と注意点
-
QR4Officeでは1件ずつしかQRコードを作成できません
-
複数件のデータを処理したい場合は、コピー&ペーストによる手作業が必要
-
アドインから作成したQRコード画像は、後から内容を上書き変更できない(再生成が必要)
向いているケース
-
名刺やチラシなど、数件だけのQRコードを丁寧に作成したい場合
-
サイズや色など、QRコードの見た目を細かく調整したい場合
-
画像として保存・共有・印刷したいとき
詳しい使い方はこちらの記事で解説しています
QR4Officeアドインの使い方や設定方法については、別記事でわかりやすくご紹介しています。
> ExcelでQRコードを作成する方法(QR4Officeアドインの使い方)
少数のQRコードを「確実に・きれいに」作りたいときには、QR4Officeがとても便利です。
逆に、複数件を一括処理したい場合には、関数やVBAを併用するのがよいでしょう。
用途別!QRコード複数作成方法の選び方と注意点
保存・印刷・共有に使うならどれ?
QRコードを作成したあと、印刷して配布したい・WordやPowerPointに貼り付けたい・画像として保存しておきたいといったニーズも多いのではないでしょうか。
ここでは、「作ったQRコードをどう使うか」という観点から、各方法の使い勝手を比較します。
セル内に表示される関数(QuickChart)の場合
-
QRコードはWeb画像としてセル内に表示されているだけなので、直接保存や印刷には工夫が必要です
-
他の資料に貼り付けたい場合は、以下の方法が考えられます:
-
スクリーンショット → トリミング → 画像として保存
-
IMAGE()
関数のURL部分を取り出して、ブラウザで開いて右クリック保存
-
-
大量に表示するとファイルが重くなることもあるため、用途に応じて一時的に画像化するのが現実的です
VBAで作成したQRコード画像の場合
-
VBAで挿入したQRコードは**「図形(画像)」として貼り付けられるため、そのまま保存や印刷に対応**できます
-
他の資料への貼り付けや、サイズ・位置の調整も自由自在
-
作成直後の画像を右クリックして「図として保存」も可能なので、再利用しやすいのもメリットです
アドイン(QR4Office)の場合
-
作成されるQRコードは最初から画像として挿入されるため、見た目や配置を整えてそのまま資料化できます
-
サイズや色のカスタマイズができるので、印刷向けの美しいQRコードを作りたいときに最適です
-
「図として保存」→「Wordに貼り付け」→「印刷」などの流れもスムーズです
まとめ:用途ごとのおすすめ
目的 | おすすめ方法 |
---|---|
作ったQRコードを画像として保存・印刷したい | ✅ VBA or QR4Office |
QRコードを自動更新しながら一覧表に載せたい | ✅ 関数(QuickChart) |
Word・PowerPointなどで資料として使いたい | ✅ VBA or QR4Office |
ファイルを軽く保ちたい/一時的に見たいだけ | ✅ 関数(QuickChart) |
用途によって最適な方法は異なりますが、印刷・保存・共有のしやすさを重視する場合には、画像として扱えるVBAまたはアドインがおすすめです。
逆に、見た目にこだわらず手軽に一覧化したいだけであれば、関数による方法でも十分活用できます。
まとめ:目的に応じて最適な方法を選ぼう
エクセルでQRコードを複数作成する方法には、「関数」「VBA」「アドイン」という3つの選択肢があります。
それぞれにメリットと注意点があるため、用途や操作スキルに応じて適切な方法を選ぶことが大切です。
-
関数(QuickChart):とにかく手軽。一覧表示や簡易的な用途におすすめ
-
VBA:大量のQRコードを一括生成・保存したいときに最適。業務効率化にも
-
QR4Officeアドイン:少量のQRコードを見栄えよく作りたいときに便利
目的に合わせて方法を組み合わせることで、エクセルでのQRコード活用がより効果的になります。