Excelでバーコード(JANコード8桁/13桁)を作成する方法!VBAで一括生成も!

Excelでバーコード(JANコード8桁/13桁)を作成したいときはないでしょうか。

けど、そんな中で悩むことは、

・Excelでバーコード(JANコード8桁/13桁)を作成したいが方法がよくわからない
・VBAでバーコード(JANコード8桁/13桁)を一括作成ししたいが方法がよくわからない

ですよね。

今回はそんなお悩みを解決する

・Excelでバーコード(JANコード8桁/13桁)を作成する方法
・VBAでバーコード(JANコード8桁/13桁)を一括作成する方法

についてまとめます!

Excelでバーコード(JANコード8桁/13桁)を作成するイメージ

Excelでバーコード(JANコード8桁/13桁)を作成するイメージについて説明をします。

まずは標準機能でExcelのシートから手動でバーコードを挿入していきます。

バーコードを設置できたら手動でバーコードの種類(JANコード8桁/13桁)を変更したり、値を設定したりします。

次にVBAでバーコードを一括で作成していきます。

値をA列に設定し、バーコードのサイズはB列の縦横の幅に自動調整するようにします。

一括でバーコードが作成できると便利ですよね!

早速試してみましょう。

JANコードとは

まず、JANコードについて説明をします。
JANコードとは商品管理や流通用として使用されるコードで、一般的にバーコードといったらのこJANコードを指します。

JANはJapanese Article Numberの略称で日本国内での呼び方となります。国際的にはEAN(European Article Number)コードや、GTIN-13、GTIN-8と呼ばれますが内容は同じです。

JANコードには、数字13桁の標準タイプ(JAN-13)と数字8桁の短縮タイプ(JAN-8)があり、Excelでは数字13桁の標準タイプがデフォルトとなっています。

手動でバーコード(JANコード8桁/13桁)を作成する

手動でバーコード(JANコード8桁/13桁)を作成する方法について説明をします。

Officeでは「Microsoft BarCode Control」というライブラリが用意されていて、それを使うことによりバーコードのオブジェクトを追加することができます。

Excelで標準設定となっているのはJANコードの13桁桁のタイプとなりますので、まずはこちらのバーコードを作成していきましょう。

タカヒロ
タカヒロ
Accessに含まれるライブライであるため、Accessを導入していない場合はExcelから見つから見つけることはできないことご注意ください。

バーコード(JANコード13桁)を作成する

「開発」タブををクリックし、「挿入」>「コントロールの選択」ボタンをクリックします。

コントロールの選択ウインドウが表示されたら「Microsoft BarCode Control 16.0」を選択し「OK」をクリックします。

タカヒロ
タカヒロ
Microsoft BarCode Control のバージョンはOfficeのバージョンによって異なります。

バーコードを貼り付けたい箇所へドラッグし、同時にサイズを調整していきます。

マウスをはなすとバーコードが生成されシートに表示されます。

次に、バーコードのコード(数値)を設定していきます。

先ほど貼り付けたバーコードオブジェクトを右クリックし「プロパティ」を選択します。

「プロパティ」ウインドウの「value」プロパティにバーコードの値を数字13桁で入力します。

バーコードの内容が変われば完成です。

バーコード(JANコード8桁)を作成する

次にJANコードの8桁のタイプのバーコードを作成していきましょう。

先ほど作成した13桁版のバーコードオブジェクトを選択し右クリックします。

タカヒロ
タカヒロ
右クリックをして選択状態にならない場合は「開発」タブにあるデザインモードを有効にしてください。


「Microsoft BarCode Control 16.0オブジェクト」>「プロパティ」をクリックします。

スタイル「3-JAN-8」を選択し、「OK」をクリックします。

次に、バーコードのコード(数値)を設定していきます。

バーコードオブジェクトを右クリックして、「プロパティ」ウインドウを表示させます。

「value」プロパティにバーコードの値を数字8桁で入力します。

バーコードの内容が8桁に変わりましたね。

タカヒロ
タカヒロ
バーコードの作成手順はわかりましたが、複数ある場合にはなかなか手間ですよね。
次はVBAを使い一括でバーコードを作成してみましょう。

VBAでバーコード(JANコード13桁)を一括作成する

VBAでバーコード(JANコード8桁/13桁)を一括作成する方法について説明をします。

今回は値をA列に設定し、バーコードのサイズはB列の縦横の幅に自動調整するようにします。

まずはJAN-13から作成していきますので、A列の値は13桁の数字を入力していきます。

VBAコード

VBAは以下の通りです。

Sub バーコードを生成する()
    Dim intTop As Integer
    Dim intLeft As Integer
    Dim intWidth As Integer
    Dim intHeight As Integer
    Dim objBarCodeSetup As BarCodeCtrl
    Dim i As Integer
    
    'Excel表示シートのA列2行目以降にある値の件数分処理を繰り返します。
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        
        'B列セルの位置、サイズ情報を取得し変数へ代入します。
        With Cells(i, 2)
            intTop = .Top 'セル上部の位置
            intLeft = .Left 'セル左側の位置
            intWidth = .Width 'セル幅のサイズ
            intHeight = .Height 'セル高さのサイズ
        End With
        
        'BARCODE.BarCodeCtrlタイプのOLEオブジェクトを追加し、選択状態にします。
        ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", _
            Link:=False, DisplayAsIcon:=False, _
            Left:=intLeft + 2, Top:=intTop + 2, Width:=intWidth - 5, Height:=intHeight - 5).Select
    
        '選択したバーコードオブジェクトをオブジェクトにセットします。
        Set objBarCodeSetup = Selection.Object
        
        'バーコード コントロールのプロパティを設定します。
        With objBarCodeSetup
            .Style = 2 '2はJAN-13、3はJAN-8となります。
            .Value = Cells(i, 1).Value  'A列の値をバーコードのValueプロパティへ設定します。
        End With

    Next
    
    'オブジェクトを解放します。
    Set objBarCodeSetup = Nothing

End Sub

VBAの設定

Excel表示シートのA列2行目からの指定となっていますが、行数を変更する場合は変数iの数値を変えてください。

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row

バーコードの貼り付け先はB列となっていますが、C列など別の列にする場合はCellsの第二引数を変更してください。C列の場合は3、D列は4を指定します。

With Cells(i, 2)

VBAの実装

VBAの実装方法については
VBAの実装手順
をご参照ください。

VBAを実行

VBAを実行しましょう。

はい、B列にJAN-13のバーコードが一括で作成されましたね!

値も反映されています!

VBAの説明

VBAについて説明をします。

Excel表示シートのA列2行目以降にある値の件数分処理を繰り返します。

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row

B列セルの位置、サイズ情報を取得し変数へ代入します。

With Cells(i, 2)
intTop = .Top 'セル上部の位置
intLeft = .Left 'セル左側の位置
intWidth = .Width 'セル幅のサイズ
intHeight = .Height 'セル高さのサイズ
End With

BARCODE.BarCodeCtrlタイプのOLEオブジェクトを追加し、選択状態にします。
バーコードの貼り付け位置とサイズは先ほどのセルの情報をベースに設定します。

ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", _
Link:=False, DisplayAsIcon:=False, _
Left:=intLeft + 2, Top:=intTop + 2, Width:=intWidth - 5, Height:=intHeight - 5).Select

タカヒロ
タカヒロ
バーコードのサイズはセルサイズより若干小さくなるようにしています。

選択したバーコードオブジェクトをオブジェクトにセットします。

Set objBarCodeSetup = Selection.Object

バーコード コントロールのプロパティを設定します。

With objBarCodeSetup
.Style = 2 '2はJAN-13、3はJAN-8となります。
.Value = Cells(i, 1).Value 'A列の値をバーコードのValueプロパティへ設定します。
End With

Styleプロパティはバーコード シンボルのスタイルを指定するプロパティとなりますので、以下の表を参考に設定したいスタイルを指定します。
今回はJAN-13桁なので2を指定します。

バーコード コントロールStyle プロパティ一覧

Style 説明
0 -UPC-A 商品のマーキングに広く使用されている POS シンボルです (米国とカナダ)。
1 -UPC-E UPC の短縮バージョンです。標準バージョンのシンボルが印刷できないような小さい商品に使用します。
2 -JAN-13 国際的な規格の POS シンボルです。書籍や雑誌などを含め、すべての商品に使用します。
3 -JAN-8 JAN の短縮バージョンです。標準バージョンのシンボルが印刷できないような小さい商品に使用します。
4 -Casecode 製造会社や卸し売り会社が小売り店に商品を出荷するとき、梱包箱の外側に表示するシンボルです。
5 -NW-7 英数字を表すことができるバーコード シンボルです。コンピュータ機器など、特殊な商品のパッケージに表示します。
6 -Code-39 英数字を表すことができるバーコード シンボルです。FA (Factory Automation) をはじめ、工業用として広く使用されています。
7 -Code-128 フル ASCII の 128 文字をコード化したバーコード シンボルです。
8 -US Postnet 処理を自動化するため、郵便物に表示するバーコード シンボルです (米国)。
9 -US Postal FIM 処理を自動化するため、郵便物に表示する特殊なバーコード シンボルです (米国)。
10 -カスタマバーコード 処理を自動化するため、郵便物に表示するバーコード シンボルです (日本)。

参考:https://docs.microsoft.com/ja-jp/previous-versions/office-development/cc427155(v=msdn.10)

Valueプロパティはバーコードのデータを指定するプロパティなので、セルの値を指定します。

その他のバーコード コントロールのプロパティは以下の通りです。

プロパティ 説明
Style バーコード シンボルのスタイルを指定します。
SubStyle さらに細かいスタイルを指定します。
Validation データの有効性を確認するかどうかを指定します。
LineWeight バーコード シンボルの線の太さを指定します。
Direction バーコード シンボルの表示方向を指定します。
ShowData 数値データを表示するかどうかを指定します。
ForeColor バーコード シンボルの前景色を指定します。
BackColor バーコード シンボルの背景色を指定します。
Value 作成するバーコード シンボルのデータを指定します。

参考:https://docs.microsoft.com/ja-jp/previous-versions/office-development/cc427149(v=msdn.10)?redirectedfrom=MSDN

オブジェクトを解放します。

Set objBarCodeSetup = Nothing

VBAでバーコード(JANコード8桁)を一括作成する

次はVBAでバーコード(JANコード8桁)を一括作成してみましょう。

A列の値を8桁の数字にしていきます。

VBAの設定

バーコード コントロールのプロパティを変更していきます。
「 .Style = 2」を JAN-8を意味する「.Style = 3」へ変更します。

With objBarCodeSetup
.Style = 3 '2はJAN-13、3はJAN-8となります。
.Value = Cells(i, 1).Value 'A列の値をバーコードのValueプロパティへ設定します。
End With

VBAを実行

VBAを実行しましょう。

はい、B列にJAN-8のバーコードが一括で作成されましたね!

値も反映されています!

VBAの実装手順

実装手順は以下の通りです。

Excel側にVBAを実装していきます。

①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のVBAを入力します。

こちらで完了です。

VBAを実行する

では早速VBAの実行をしてみましょう。

①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。

②処理がされたことが確認できれば完了です。

さいごに

いかがでしょうか。

今回は、

・Excelでバーコード(JANコード8桁/13桁)を作成する方法
・VBAでバーコード(JANコード8桁/13桁)を一括作成する方法

についてまとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。




タカヒロ

プログラミングやマーケティングなどに興味あるけど
どのスクールが良いか悩むときはないですか?

タカヒロもスクール選びにとても苦労しました…

そんな時には数ある中から第三者目線でいまの貴方に合ったスクールを提案してくれるスクマドのカウンセリングサービスがおすすめです。

メリットだけでなくディメリットもズバリと伝えてくれます!

これでお悩み時間を短縮できますね!詳細は☟になります。

※完全無料です。ご安心ください。





コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です