製造や小売りなどの現場の在庫管理で活用されているバーコードやQRコード(2次元コード)はExcel(エクセル)でも簡単に作成できます。実際に作成しながら手順をわかりやすく紹介します。
バーコードとは QRコードとの違い
デンソーウェブの公式サイトによると、バーコードとは、バーとスペースの組合せにより、数字や文字などを機械が読み取れる形で表現したものです。バーコードには数字や記号だけでなく、以下の要素も含まれています。
- クワイエットゾーン:バーコードの両端または周囲に配される余白
- スタート/ストップキャラクタ:データの始まりと終わりを表す文字
- チェックデジット:バーコードのデータが正しいかをチェックする
バーコードの種類には用途や国によってさまざまな種類があります。たとえば、スーパーやコンビニで並び、POS管理が必要な食糧品や雑貨には、日本なら「49」と「45」から始まるJAN(Japanese Article Number)コードが使われています。
そのほかにも、次のような種類があります。種類よって数字や英字など使える種類が異なります。
- NW-7(CODABAR)…宅配便の荷札や写真プリント用封筒などで利用
- コード39(CODE39)…米国防総省のMIL規格で採用。FA分野などで利用
- コード128(CODE128)…使える文字の種類が多く公共料金収納などに活用
これに対し、QRコードとは、Quick Responseの略称で、1994年に開発した2次元コードを指します。
小さなスペースに表示が可能、汚れ・破損に強いといった特徴があり、URLを入力せずに、読み取るだけでサイトに遷移できるため、バーコード決済やSNSの友達追加、様々な印刷物など活用が広がっています。
バーコードをエクセルで作成する方法
無料でバーコード作成ができるサイトやツールもありますが、エクセルでも作ることができます。大きく分けて3つの手順で完了します。
事前準備として、使っているエクセルがOffice2019またはMicrosoft365以前の場合、Microsoft Access 2016 Runtimeのダウンロードが必要となる場合があります。
- Microsoft BarCode Controlの選択
- バーコード(サンプル)の作成
- バーコードのプロパティで情報入力
Microsoft BarCode Controlの選択
まず、[ファイル]>[オプション]>[リボンのユーザー設定]を選択。[メインタブ]から[開発]にチェックマークを入れてOKをクリックします。
すると、ツールバーに[開発]が表示されます。[開発]>[挿入]>[コントロールの選択]から[Microsoft Barcode Control 16.0]を選び「OK」を選択してください。
バーコード(サンプル)の作成
マウスポインタが十字に変化するので、クリック&ドラッグして作成場所を決めてください。
バーコードのプロパティで情報入力
バーコード上で右クリックしてください。[Microsoft BarCode Control 16.0オブジェクト]>[プロパティ]を開き、[スタイル]から先ほど紹介したバーコードの種類を選択できます。選択したら[OK]でエクセルシート上に戻ってください。
再度、バーコード上で右クリック。[プロパティ]を選択すると、ダイアログボックスが表示されます。[Value]欄に英数字を直接入力できますし、[Linkedcell]に参照するセルを入力することもできます。
エクセルでQRコードを作る方法
エクセルでQRコードを作る場合も同じ手順です。
バーコードのサンプルを右クリックし[MICROSOFTBARCODECONTROL16.0のプロパティ]が出てきたら、[スタイル]>[QRコード]を選択すれば、QRコードに変更できます。
正方形に整えたい場合は、[コントロールの書式設定]>[サイズ]から高さと幅を同サイズにしてください。
Excel(エクセル)で一括QRコードを無料作成する方法
QRコードを1クリックで一括作成するエクセルマクロを作成しました。
QRコードを連続で生成してくれるので、とても便利だと思います。
エクセルファイルをダウンロードできるようにしておきましたので、よろしければご利用頂ければと思います。
1.A列にQRコードしたい文字列を入力します。
2.右側にあるボタンをクリックします。(マクロがスタートします。)
すると以下のように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 "同じディレクトリに保存しました。"