製造や小売りなどの現場の在庫管理で活用されているバーコードや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の友達追加、様々な印刷物など活用が広がっています。
QRコードを1クリックで一括作成するエクセルマクロを作成しました。
QRコードを連続で生成してくれるので、とても便利だと思います。
エクセルファイルをダウンロードできるようにしておきましたので、よろしければご利用頂ければと思います。
【 特徴 】
●オフラインで生成できます。
●日本語対応です。
●一括生成できます。
●指定セルに貼り付けできます。
●一括フォルダに保存できます。
●[Microsoft Barcode Control 16.0]で面倒くさい設定一切必要せず、2回クリックだけで生成できます。
一括QRコード生成・一括バーコード生成ソフト ダウンロードリンク
便利なアドイン版もお試しください。 ダウンロードリンク
1.ダウンロードしたQRcodeBarcodeG.xlsmもしくはQRcodeBarcodeG.xlamをダブルクリックして起動します。
2.メニューバーのアイコンをクリックします。
3.フォームが立ち上がりますので、「元データ指定」をクリックします。
4.貼り付け先セルを指定します。
5.一括生成もしくは単独生成ボタンをクリックします。
6.あっという間に生成されます。
7.QRコード画像を保存したい場合、「QRコードを保存」もしくは「バーコードを保存」ボタンをクリックします。
ファイルをダウンロードして使用したい方は参考にして下さい。
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以降が別途必要です。(※Mac用Excel動作不可)
ただし、Excelの将来のバージョンに渡って動作を保証するものではありません。
また、ExcelのバージョンとWindowsのバージョンの組み合わせにつきましては、
マイクロソフトが動作保証を行っている組み合わせに限ります。
■よくあるお問合せやトラブル情報・バグ情報等の最新情報は、作者に連絡してください。
■ファイルが破損して開けなくなった場合や誤ってファイルを消去してしまった場合に備えて
定期的にファイルのバックアップ(コピー)を行ってください。
■本プログラムを運用された際、ご利用者に直接 または 間接的に障害が発生しても、
いかなる責任も負わないものとし、一切の賠償等は行わないものとさせていただきます。
■仕様は予告なく改善されることがあります。