Excel(エクセル)で一括バーコード・QRコードを無料作成する方法

 製造や小売りなどの現場の在庫管理で活用されているバーコードやQRコード2次元コード)はExcel(エクセル)でも簡単に作成できます。実際に作成しながら手順をわかりやすく紹介します。

 

 

 デンソーウェブの公式サイトによると、バーコードとは、バーとスペースの組合せにより、数字や文字などを機械が読み取れる形で表現したものです。バーコードには数字や記号だけでなく、以下の要素も含まれています。

  • クワイエットゾーン:バーコードの両端または周囲に配される余白
  • スタート/ストップキャラクタ:データの始まりと終わりを表す文字
  • チェックデジット:バーコードのデータが正しいかをチェックする

 バーコードの種類には用途や国によってさまざまな種類があります。たとえば、スーパーやコンビニで並び、POS管理が必要な食糧品や雑貨には、日本なら「49」と「45」から始まるJAN(Japanese Article Number)コードが使われています。

 そのほかにも、次のような種類があります。種類よって数字や英字など使える種類が異なります。

  • NW-7(CODABAR)…宅配便の荷札や写真プリント用封筒などで利用
  • コード39(CODE39)…米国防総省のMIL規格で採用。FA分野などで利用
  • コード128(CODE128)…使える文字の種類が多く公共料金収納などに活用

 これに対し、QRコードとは、Quick Responseの略称で、1994年に開発した2次元コードを指します。

 小さなスペースに表示が可能、汚れ・破損に強いといった特徴があり、URLを入力せずに、読み取るだけでサイトに遷移できるため、バーコード決済やSNSの友達追加、様々な印刷物など活用が広がっています。

 

 

Excel(エクセル)で一括QRコードを無料作成する方法

 

QRコードを1クリックで一括作成するエクセルマクロを作成しました。

QRコードを連続で生成してくれるので、とても便利だと思います。

エクセルファイルをダウンロードできるようにしておきましたので、よろしければご利用頂ければと思います。

 

【 特徴 】

●オフラインで生成できます。

●日本語対応です。

●一括生成できます。

●指定セルに貼り付けできます。

●一括フォルダに保存できます。

[Microsoft Barcode Control 16.0]で面倒くさい設定一切必要せず、2回クリックだけで生成できます。

 

一括QRコード生成・一括バーコード生成ソフト ダウンロードリンク

 

 

便利なアドイン版もお試しください。 ダウンロードリンク

 

 

1.ダウンロードしたQRcodeBarcodeG.xlsmもしくはQRcodeBarcodeG.xlamをダブルクリックして起動します。

2.メニューバーのアイコンをクリックします。

3.フォームが立ち上がりますので、「元データ指定」をクリックします。

4.貼り付け先セルを指定します。

5.一括生成もしくは単独生成ボタンをクリックします。

6.あっという間に生成されます。

7.QRコード画像を保存したい場合、「QRコードを保存」もしくは「バーコードを保存」ボタンをクリックします。

 

 

 

QRコード生成VBAソースコードの一部は以下の通りです。

ファイルをダウンロードして使用したい方は参考にして下さい。

Excelファイルのみで余計なファイルは一切必要ありません。

Sub QR削除()
    Dim pic As Shape
    With Sheet1
        For Each pic In .Shapes
            If pic.Type = msoPicture Then pic.Delete  '既存QRコードを削除
        Next pic
    End With
End Sub

 


Sub QR生成()
    Dim QR$, s$, ss$, i&
    Application.ScreenUpdating = False
    Call QR削除 '起動QRコードを削除
    With Sheet1
        For rrow = 2 To Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
            If Range("a" & rrow) <> "" Then
            Call QRMain(Range("a" & rrow)) 'QRコード生成
            Call CreateBitmapQRCode(RGB(0, 0, 0), RGB(255, 255, 255)) '色設定
            Call QRCodeToClipboard
            .Range("b" & rrow).Select  'コピーペスト位置
            .Rows(rrow).RowHeight = 90  'QRコード格納セルのサイズ調整
            .Columns(2).ColumnWidth = 15
            .Paste  'QRコードをコピーペスト
            Application.CutCopyMode = False
            With Selection       'QRコードの大きさ・位置を設定
                .ShapeRange.Height = 80
                .ShapeRange.Width = 80
                .ShapeRange.Left = Sheet1.Range("b" & rrow).Left + (Sheet1.Range("b" & rrow).Width - .Width) / 2
                .ShapeRange.Top = Sheet1.Range("b" & rrow).Top + (Sheet1.Range("b" & rrow).Height - .Height) / 2
            End With
            Else
            End If
        Next
    End With
    Application.ScreenUpdating = True
    MsgBox "QRコードが生成されました"
End Sub

 


Sub QRExport()
    Dim ad$, m&, mc$, shp As Shape
    Dim nm$, n&, myFolder$
    Sheet1.Activate
    n = 0
    myFolder = ThisWorkbook.Path & "\QRcode\"     'フォルダ名称
    For Each shp In ActiveSheet.Shapes
        If shp.Type = 13 Then
            If Len(Dir(myFolder, vbDirectory)) = 0 Then
                MkDir myFolder
            End If
            n = n + 1
            'ad = shp.TopLeftCell.Address
            m = shp.TopLeftCell.Row
            mc = Replace(Cells(m, 1).Address, "$", "")
            nm = Format(n + 1, "00") & "-" & mc & ".jpg" 'jpgフォーマット
            shp.CopyPicture 'QR画像をコピーします。
            With ActiveSheet.ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart '
                .Parent.Select
                .Paste
                .Export myFolder & nm, "JPG"
                .Parent.Delete '
            End With
            'Range(ad) = nm
        End If
    Next
    MsgBox "同じディレクトリに保存しました。"

 

【 注意事項 】
 ■Windows用のMicrosoft Excel2016以降が別途必要です。(※MacExcel動作不可)
  ただし、Excelの将来のバージョンに渡って動作を保証するものではありません。
  また、ExcelのバージョンとWindowsのバージョンの組み合わせにつきましては、
  マイクロソフトが動作保証を行っている組み合わせに限ります。

 ■よくあるお問合せやトラブル情報・バグ情報等の最新情報は、作者に連絡してください。   

 ■ファイルが破損して開けなくなった場合や誤ってファイルを消去してしまった場合に備えて
  定期的にファイルのバックアップ(コピー)を行ってください。

 ■本プログラムを運用された際、ご利用者に直接 または 間接的に障害が発生しても、
   いかなる責任も負わないものとし、一切の賠償等は行わないものとさせていただきます。

 ■仕様は予告なく改善されることがあります。