PC・仕事メモ
PR

【Excel】セルの値をQRコードにする方法|BarCode Controlで自動連動

まなび
記事内に商品プロモーションを含む場合があります

Excelで、セルに入力した値をそのままQRコードにしたいと思ったことはありませんか?

商品管理表や受付票などで、品番やURLをQRコードにできると、スマホで読み取れて便利です。この記事では、Excelに標準で入っている部品「Microsoft BarCode Control」を使って、セルの値と連動するQRコードを作る方法を紹介します。

この記事でわかること

  • ExcelでQRコードを作る手順(画像付き)
  • セルの値を変えるとQRコードも自動で変わる設定
  • 複数のQRコードをまとめて作るVBA
  • うまくいかないときの対処法

準備:[開発]タブを表示する

QRコードは[開発]タブから作ります。リボンに[開発]がない場合は、次の手順で表示してください。

  1. [ファイル]→[オプション]→[リボンのユーザー設定]を開く
  2. 右側の一覧で**[開発]にチェック**を入れて[OK]

[開発]タブの一覧に「Microsoft BarCode Control」が出てこない場合は、Accessの部品が入っていない可能性があります。「Microsoft BarCode Controlが見つからないときの対処法」を参考にしてください。

手順1:BarCode Controlを挿入する

  1. [開発]タブ →[挿入]→[ActiveX コントロール]の中にある**[コントロールの選択]**(右下の工具のアイコン)をクリック
  2. 一覧から**「Microsoft BarCode Control 16.0」**を選んで[OK]
  3. シート上でドラッグすると、バーコードが表示されます

手順2:バーコードをQRコードに変える

最初は普通のバーコードが表示されるので、QRコードに切り替えます。

  1. バーコードを右クリック →[Microsoft BarCode Control 16.0 オブジェクト]→[プロパティ]
  2. [スタイル]を**「11 – QRコード」**に変更して[OK]

手順3:QRコードをセルの値と連動させる

ここが一番のポイントです。QRコードの内容を、セルの値と結びつけます。

  1. QRコードを選んだ状態で、[開発]タブの**[プロパティ]**をクリック
  2. 表示された一覧の**[LinkedCell]**に、QRコードにしたいセル番地(例:A1)を入力
  3. [開発]タブの**[デザインモード]をオフ**にする

これで、A1セルの値がQRコードになります。A1の値を書き換えると、QRコードも自動で変わります。

手順4:スマホで読み取って確認

スマホのカメラでQRコードを読み取って、セルの値が表示されれば完成です。

複数のQRコードをまとめて作るVBA

品番リストなど、たくさんのQRコードを作りたい場合は、1つずつ手作業で作るのは大変です。次のVBAを使うと、A列の値をもとに、B列にQRコードをまとめて作れます。

使い方

  1. A2から下に、QRコードにしたい値を入力しておく
  2. [Alt]+[F11]でVBAの画面を開き、[挿入]→[標準モジュール]
  3. 下のコードを貼り付けて、[F5]で実行
  4. ファイルは**「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でまとめて作成できる

関連記事

記事URLをコピーしました