【Excel】セルの値をQRコードにする方法|BarCode Controlで自動連動
Excelで、セルに入力した値をそのままQRコードにしたいと思ったことはありませんか?
商品管理表や受付票などで、品番やURLをQRコードにできると、スマホで読み取れて便利です。この記事では、Excelに標準で入っている部品「Microsoft BarCode Control」を使って、セルの値と連動するQRコードを作る方法を紹介します。
この記事でわかること
- ExcelでQRコードを作る手順(画像付き)
- セルの値を変えるとQRコードも自動で変わる設定
- 複数のQRコードをまとめて作るVBA
- うまくいかないときの対処法
準備:[開発]タブを表示する
QRコードは[開発]タブから作ります。リボンに[開発]がない場合は、次の手順で表示してください。
- [ファイル]→[オプション]→[リボンのユーザー設定]を開く
- 右側の一覧で**[開発]にチェック**を入れて[OK]
[開発]タブの一覧に「Microsoft BarCode Control」が出てこない場合は、Accessの部品が入っていない可能性があります。「Microsoft BarCode Controlが見つからないときの対処法」を参考にしてください。
手順1:BarCode Controlを挿入する
- [開発]タブ →[挿入]→[ActiveX コントロール]の中にある**[コントロールの選択]**(右下の工具のアイコン)をクリック
- 一覧から**「Microsoft BarCode Control 16.0」**を選んで[OK]
- シート上でドラッグすると、バーコードが表示されます

手順2:バーコードをQRコードに変える
最初は普通のバーコードが表示されるので、QRコードに切り替えます。
- バーコードを右クリック →[Microsoft BarCode Control 16.0 オブジェクト]→[プロパティ]
- [スタイル]を**「11 – QRコード」**に変更して[OK]

手順3:QRコードをセルの値と連動させる
ここが一番のポイントです。QRコードの内容を、セルの値と結びつけます。
- QRコードを選んだ状態で、[開発]タブの**[プロパティ]**をクリック
- 表示された一覧の**[LinkedCell]**に、QRコードにしたいセル番地(例:
A1)を入力 - [開発]タブの**[デザインモード]をオフ**にする

これで、A1セルの値がQRコードになります。A1の値を書き換えると、QRコードも自動で変わります。
手順4:スマホで読み取って確認
スマホのカメラでQRコードを読み取って、セルの値が表示されれば完成です。
複数のQRコードをまとめて作るVBA
品番リストなど、たくさんのQRコードを作りたい場合は、1つずつ手作業で作るのは大変です。次のVBAを使うと、A列の値をもとに、B列にQRコードをまとめて作れます。
使い方
- A2から下に、QRコードにしたい値を入力しておく
- [Alt]+[F11]でVBAの画面を開き、[挿入]→[標準モジュール]
- 下のコードを貼り付けて、[F5]で実行
- ファイルは**「Excel マクロ有効ブック(*.xlsm)」**で保存
vb
Sub CreateQRCodes()
Const QR_SIZE_CM As Double = 2.4 'QRコードの一辺の長さ(cm)
Dim ws As Worksheet
Dim oo As OLEObject
Dim lastRow As Long
Dim r As Long
Dim qrSize As Double
Set ws = ActiveSheet
qrSize = Application.CentimetersToPoints(QR_SIZE_CM)
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For r = 2 To lastRow
'QRコードが収まるように行の高さを調整
ws.Rows(r).RowHeight = qrSize + 6
'B列にBarCode Controlを追加
Set oo = ws.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", _
Left:=ws.Cells(r, "B").Left + 3, Top:=ws.Cells(r, "B").Top + 3)
oo.Object.Style = 11 '11 = QRコード
oo.LinkedCell = ws.Cells(r, "A").Address(False, False) 'A列のセルと連動
oo.Width = qrSize
oo.Height = qrSize
Next r
End Sub
ポイント
- サイズは
QR_SIZE_CMの数字を変えるだけで調整できます - 1つ1つがA列のセルと連動しているので、あとから値を書き換えてもQRコードが変わります
- B列の幅は、QRコードが収まるように広げておいてください
うまくいかないときは
QRコードのサイズが勝手に変わる
ファイルを開き直すとQRコードの大きさが変わってしまう場合は、「Excel QRコードのサイズが変わってしまった時の対処法」で原因と対処法を解説しています。
プロパティが選べない
[デザインモード]がオフになっていると、右クリックしてもプロパティを開けません。設定を変えるときは、デザインモードをオンにしてください。
QRコードが変わらない
デザインモードがオンのままだと、セルの値を変えてもQRコードが更新されないことがあります。設定が終わったらデザインモードをオフにしてください。
まとめ
- [開発]タブから「Microsoft BarCode Control 16.0」を挿入
- スタイルを「11 – QRコード」に変更
- [LinkedCell]にセル番地を入れると、セルの値と連動する
- たくさん作るならVBAでまとめて作成できる
関連記事