
「商品ラベルや棚札にバーコードが必要になった」
「でも、専用ソフトを買うほどの予算はない」
そんなときこそ、いつも使っているエクセルの出番です。実はバーコード作成は、エクセルの機能や無料のバーコードフォントを活用することで、追加費用をかけずに実現できます。
本記事では、Excel/VBA専門特化で約20年・納入実績219件のセルネッツが、3つの作成方法を解説します。バーコードやQRコードを使った検品管理システムの開発実績にもとづき、つまずきやすいポイントも正直にお伝えします。
毎日のExcel作業に、こんなお悩みはありませんか?
- 手作業の集計・転記に膨大な時間がかかっている
- 入力ミスや属人化で、共有・引き継ぎが難しい
- 業務は効率化したいが、高額なシステム投資はできない
そのお悩み、ExcelマクロとVBAによるシステム開発で解決できます。Excel専門のシステム開発会社『セルネッツ』なら、在庫管理・顧客管理・見積/請求管理など豊富な開発実績をもとに、低価格・スピード対応で業務の自動化を実現。普段お使いのExcelがそのままシステムになるため、導入したその日から効果を実感いただけます。
\Excel専門特化 × 低価格 × スピード対応/
全国対応・お見積もり無料
EXCEL開発・VBA開発・EXCELマクロ開発ならセルネッツ
エクセルならバーコードは無料で作成できる
結論からいうと、バーコードは専用ソフトを購入しなくても、Excelを使って無料で作成できます。
Excelでバーコードを作成する方法は複数ありますが、代表的なのは次の2つです。
| 方法 | 向いている用途 | Mac対応 | 一括作成 |
| ActiveXコントロール(Microsoft Barcode Control 16.0) | JANコードなど規格に準拠したバーコードを作成したい | × | △(VBA併用で可) |
| バーコードフォント | 社内管理用のバーコードを手軽に大量作成したい | ○ | ○ |
どちらも無料で利用できますが、用途や利用環境によって適した方法が異なります。まずは、それぞれの特徴を理解したうえで、自分に合った方法を選びましょう。
ActiveXコントロールを使うには利用条件を確認しよう
Excelでバーコードを作成する場合は、ActiveXコントロールの「Microsoft Barcode Control 16.0」という機能を利用します。
追加費用はかからず、規格に準拠したバーコードを作成できるため、商品管理や在庫管理などの業務でも利用しやすい方法です。
ただし、利用するには次の2つの条件があります。
- Windows版Excelを利用している
- AccessまたはMicrosoft 365 Access Runtimeがインストールされている
Mac版ExcelではActiveXコントロールは利用できません。また、「Microsoft Barcode Control 16.0」が一覧に表示されない場合は、Access Runtimeを導入することで利用できるケースがあります。
なお、以前よく紹介されていた「Access 2016 Runtime」は2025年10月にサポートが終了しています。
エクセルで作成できるバーコードの種類と選び方
バーコードには100種類以上の規格があるとされていますが、実務で利用されるのは主に以下5つです。
| 種類 | 主な用途 | 扱える文字 |
| JAN-13 | 小売商品の販売・POSレジ | 数字13桁 |
| ITF | 物流・段ボール・梱包箱 | 数字(偶数桁) |
| NW-7(Codabar) | 宅配伝票・会員証 | 数字・一部記号 |
| Code39 | 社内備品・在庫管理・工程管理 | 数字・英大文字・一部記号 |
| Code128 | 出荷ラベル・製造管理 | 数字・英字・記号 |
まずは、用途に合ったバーコードを選ぶことが大切です。どのバーコードを選ぶべきか迷った場合は、以下の基準を参考にすると判断しやすくなります。
用途に合わせてバーコードを選ぼう
バーコードは、「販売用」か「社内管理用」かで選ぶ規格が大きく変わります。
- 店頭で販売する商品:JAN-13
- 社内の備品や在庫管理:Code39
- 文字数が多い管理番号や出荷ラベル:Code128
- 物流用の段ボールや梱包箱:ITF
社内利用であれば、扱いやすさからCode39がよく利用されています。英数字を自由に組み合わせられるため、備品番号や品番の管理に適しています。
一方、より多くの情報を1つのバーコードに格納したい場合は、Code128が適しています。出荷ラベルや製造現場など、情報量が多い業務で採用されることが多い規格です。
JANコードを商品に使うにはGS1への事業者登録が必要
JANコードを商品に印刷して販売する場合は、番号を自由に決めることはできません。
JANコードに含まれる事業者コードは、GS1 Japan(一般財団法人流通システム開発センター)へ登録することで付与されます。登録されていない番号を販売用商品に使用すると、他社の商品コードと重複する可能性があり、流通上のトラブルにつながるおそれがあります。
一方、自社の倉庫や工場など、社内でのみ利用するバーコードであれば、GS1への登録は不要です。Code39やCode128を利用して、独自の管理番号をバーコード化すれば問題ありません。
ActiveXコントロール(Microsoft Barcode Control)でバーコードを作成する手順
ここからは、ActiveXコントロール(Microsoft Barcode Control)を用いたバーコードの作成方法を紹介します。
作業の流れは、次の4ステップです。
- 開発タブを表示する
- Microsoft Barcode Control 16.0を挿入する
- バーコードの種類(スタイル)を選択する
- 値を設定して読み取りテストをする
それぞれ詳しく見ていきましょう。
手順1|開発タブを表示する
ActiveXコントロールは、「開発」タブから利用します。ただし、初期設定では表示されていないため、最初に有効化しましょう。
操作手順は以下のとおりです。
- 「ファイル」→「オプション」を開く
- 「リボンのユーザー設定」を選択する
- メインタブ一覧の「開発」にチェックを入れ、「OK」を押す
一度設定すれば、次回以降も開発タブは表示されたまま利用できます。
手順2|ActiveXコントロールから「Microsoft Barcode Control 16.0」を挿入する
続いて、バーコードコントロールをワークシートへ配置します。
操作手順は以下のとおりです。
- 「開発」タブ→「挿入」→ActiveXコントロール欄の「コントロールの選択」をクリック
- 一覧から「Microsoft Barcode Control 16.0」を選び、「OK」を押す
- マウスポインターが「+」に変わるので、配置したい場所でドラッグして描画する
サンプルのバーコードが表示されれば、正常に挿入できています。サイズや位置は後から変更できるため、この段階では大まかに配置すれば問題ありません。
手順3|バーコードの種類(スタイル)を選択する
次に、用途に合わせてバーコードの種類(スタイル)を設定します。
操作手順は以下のとおりです。
- バーコードを右クリック
- 「Microsoft BarCode Control 16.0 オブジェクト」→「プロパティ」を選択
- 「スタイル」のプルダウンから作成したい種類(例:JAN-13)を選び、「OK」を押す
種類は商品販売用であればJAN-13、社内管理であればCode39やCode128を選択します。
バーコードの種類に迷った場合は、「用途に合わせてバーコードを選ぼう」で紹介した用途別の選び方を参考にしてください。
手順4|Value(またはLinkedCell)に値を設定して読み取りテスト
最後に、バーコードへ表示するデータを設定します。
バーコードを右クリックし、「プロパティ」を開いたら、次のいずれかの方法で値を設定します。
- Value:バーコードへ直接値を入力する
- LinkedCell:セルと連動させる
一度だけバーコードを作成する場合は「Value」でも問題ありませんが、実務ではLinkedCellを利用するケースが一般的です。
例えば、A2を指定しておけば、A2セルの値を書き換えるだけでバーコードも自動的に更新されます。在庫管理やラベル作成など、大量のバーコードを扱う業務では特に便利です。
設定が完了したら、最後にバーコードが正しく読み取れるか確認しましょう。
バーコードフォントで作成する方法【Mac対応・大量作成向き】
Windows以外の環境で利用したい場合や、大量のバーコードを一括作成したい場合は、バーコードフォントを使う方法がおすすめです。
バーコードフォントには、次のような特徴があります。
- Mac版Excelでも利用できる
- 数式やオートフィルを使って大量のバーコードを作成しやすい
- 専用コントロールを追加する必要がない
一方で、規格によってはチェックデジットやチェックサムを別途計算する必要があり、設定を誤ると読み取れない点には注意が必要です。
Code39フォントを使った作成手順
バーコードフォントを利用する場合は、無料で公開されているCode39フォント(Libre Barcode 39など)を使用する方法が一般的です。
作成手順は以下のとおりです。
- Code39フォントをダウンロードしてPCへインストールする
- Excelでバーコード化したいデータを入力する
- =”*”&A2&”*” のような数式を作成する
- 数式を入力したセルへバーコードフォントを適用する
Code39では、「*(アスタリスク)」が開始・終了記号として扱われます。そのため、数式でデータの前後に「*」を付ける必要があります。
一度数式を作成すれば、オートフィルでコピーするだけで、一覧データをまとめてバーコード化できます。
バーコードフォントを利用する際の注意点
バーコードフォントは手軽に利用できる反面、業務で使用する際には注意したい点があります。
- フォントを変更しているだけなので、誤ったデータでもバーコードとして表示される
- JANコードなど、チェックデジットが必要な規格には適していない
- Code128など一部の規格では、チェックサムの計算など追加の処理が必要になる
つまり、見た目はバーコードでも、実際には正常に読み取れないケースがあるということです。
そのため、バーコードフォントは、社内の備品管理や簡易ラベルなど、読み取りエラーが大きな問題になりにくい用途に向いています。実際に運用する前には、使用するバーコードリーダーやスマートフォンなどで読み取りテストを行い、問題なく利用できることを確認しましょう。
一方、商品管理や物流、取引先とのデータ連携など、読み取り精度が求められる業務では、ActiveXコントロールを利用した方法をおすすめします。規格への準拠性が高く、実務でも安心して運用しやすいためです。
【応用】VBAでバーコードを一括作成する方法
バーコードを数個作成するだけであれば、手作業でもそれほど時間はかかりません。
しかし、商品マスターや在庫一覧など、数百件・数千件のデータをバーコード化する場合は、1つずつ作成するのは現実的ではありません。
このようなケースでは、VBAを活用してバーコードを自動生成すると効率的です。
ここでは、VBAを利用して、商品リストからバーコードを一括作成する方法を紹介します。
バーコードを自動生成するVBAサンプルコード
以下は、A列(2行目以降)に入力されたデータをもとに、B列へバーコードを自動生成するサンプルコードです。
Sub バーコード一括作成()
Dim i As Long, lastRow As Long
Dim bc As OLEObject
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
Set bc = ActiveSheet.OLEObjects.Add( _
ClassType:=”BARCODE.BarCodeCtrl.1″, _
Left:=Cells(i, 2).Left, Top:=Cells(i, 2).Top, _
Width:=Cells(i, 2).Width, Height:=Cells(i, 2).Height)
bc.Object.Style = 2 ‘JAN-13の例。番号はプロパティ画面のスタイル一覧で要確認
bc.LinkedCell = Cells(i, 1).Address
Next i
End Sub
このコードでは、A列の商品コードを読み込み、各行のB列へバーコードを自動で配置します。LinkedCellを設定しているため、A列の値を変更するとバーコードも自動的に更新されます。
なお、Styleの番号はバーコードの種類によって異なります。利用する規格に合わせて、プロパティ画面で設定値を確認してください。
VBAの実行手順
サンプルコードは、以下の手順で実行できます。
- 「開発」タブから「Visual Basic」を開く
- 「挿入」→「標準モジュール」を選択する
- サンプルコードを貼り付ける
- F5キーを押してマクロを実行する
実行すると、A列のデータをもとに、B列へバーコードが自動生成されます。
一括生成する際の注意点
VBAを使えば大量のバーコードを効率よく作成できますが、運用時にはいくつか注意点があります。
- Style番号はバーコードの種類ごとに異なる
- ActiveXコントロールを大量に配置すると、ファイルサイズが大きくなり動作が重くなる場合がある
- 印刷して利用する場合は、実際にバーコードリーダーやスマートフォンで読み取りテストを行う
特に、数百~数千件のバーコードを1つのシートへ配置すると、スクロールや保存に時間がかかることがあります。
実務では、印刷単位でシートを分けるなど、ファイルが重くなりすぎない構成にすると運用しやすくなります。
作成したバーコードをラベル印刷で活用する
作成したバーコードは、ラベルシールへ印刷することで、棚札や値札、在庫ラベルなどに活用できます。
例えば、商品名や商品コードとバーコードをセルに連動させておけば、データを更新するだけでラベルの内容も自動で反映されます。定期的にラベルを印刷する業務では、入力ミスの防止や作業時間の短縮につながるでしょう。
ラベル印刷のレイアウト作成やセルサイズの調整方法については、QRコードを例に別記事で詳しく解説しています。基本的な考え方はバーコードでも同様に活用できますので、あわせて参考にしてください。
【関連記事】ExcelでQRコードを作成する手順〜実務での活用方法
エクセルのバーコードが表示されない・読み取れない原因と対処法
バーコードを作成したものの、「バーコードが表示されない」「スキャナーで読み取れない」といったトラブルが発生することがあります。
多くの場合、原因は次の3つのいずれかです。
| 症状 | 主な原因 | 対処方法 |
| バーコードが表示されない(白くなる) | 対応していない文字や桁数を入力している | バーコードの種類ごとの文字数・使用可能文字を確認する |
| バーコードは表示されるが読み取れない | チェックデジットやコードの内容が誤っている | 正しい値でバーコードを作成し直す |
| バーコードを作成できない | ActiveXコントロールが利用できない環境 | 動作環境やAccess Runtimeの有無を確認する |
ここでは、それぞれの原因と対処方法を詳しく解説します。
使用できない文字や桁数を入力している
バーコードには、それぞれ利用できる文字や桁数が決められています。
例えば、JAN-13では13桁の数字以外は使用できません。英字を入力したり、桁数が不足・超過したりすると、バーコードが正常に表示されず、白くなったり空白になったりすることがあります。
バーコードが表示されない場合は、まず選択しているバーコードの種類と入力データが一致しているかを確認しましょう。
チェックデジットが正しく設定されていない
バーコードが表示されているにもかかわらず読み取れない場合は、チェックデジットが誤っている可能性があります。
例えば、JANコードの最後の1桁は、計算によって求められるチェックデジットです。この値が正しくないと、バーコードリーダーで正常に読み取れません。
チェックデジットは、GS1 Japanが提供する計算ツールなどを利用して確認できます。また、Microsoft Barcode Controlのプロパティで検証機能を利用できる場合は、有効にしておくと入力ミスを防ぎやすくなります。
動作環境に問題がある
入力内容に問題がない場合は、利用している環境を確認しましょう。
代表的な環境要因は次のとおりです。
- Mac版Excelを利用している(ActiveXコントロールは利用不可)
- Microsoft Barcode Control 16.0が表示されない(Access Runtimeがインストールされていない可能性がある)
- 印刷後だけ読み取れない(バーコードが小さすぎる、印刷解像度が不足している)
印刷したバーコードが読み取れない場合は、サイズを少し大きくしたり、印刷品質を高く設定したりすることで改善するケースがあります。
なお、Barcode ControlはMicrosoftがExcelでの動作を完全には保証していない機能です。 業務の根幹で使う場合は、運用前のテストを入念に行ってください。
エクセルでのバーコード作成・在庫管理の限界と対策
ここまで紹介したように、エクセルはバーコードの作成や検品、在庫管理まで幅広く活用できます。
一方で、運用規模が大きくなると、エクセルだけでは対応しきれない場面も出てきます。
ここでは、エクセル運用の限界サインとその解決策を紹介します。
エクセル運用の限界とシステム化を検討すべき4つのサイン
次のような状況になった場合は、エクセルだけでの運用を見直すタイミングです。
- 複数人が同じファイルを同時に編集するようになった
- 作成・管理するバーコードの数が膨大
- データ量が増え、ファイルの動作が重くなった
- 拠点や部署間でリアルタイムにデータを共有したくなった
このような課題を放置すると、入力ミスやデータの不整合、作業効率の低下につながる可能性があります。
とはいえ、すぐに高額な在庫管理システムへ移行する必要はありません。Excel・VBAの機能拡張やデータベースとの連携だけで改善できるケースも多くあります。
セルネッツの開発事例|エクセルを活かしたバーコード管理システム
セルネッツでは、既存のエクセルを活かしたバーコード管理システムを数多く開発しています。
例えば、小売業のお客様向けには、JANコード・QRコードを利用した検品管理システムを開発しました。バーコードを読み取るだけで商品情報を照合し、検品数量を自動集計する仕組みを構築したことで、入力ミスの削減と検品作業の効率化を実現しています。
また、送り状発行や宛名ラベル印刷、在庫管理など、物流・出荷業務を効率化するエクセルシステムの開発実績も豊富です。
開発費用の目安は、検品管理システムで60〜80万円程度、軽微なExcelツールであれば8〜10万円程度から対応しています。
「市販システムでは機能が多すぎる」「今のExcel資産を活かしたい」という場合は、必要な機能だけを追加することで、コストを抑えながら業務改善を進められるケースも少なくありません。
エクセル運用にお悩みならセルネッツへご相談ください
セルネッツは、Excel・VBA開発に特化して約20年、219件以上の開発実績があります。
「バーコード管理を導入したい」「現在のExcelをもっと使いやすくしたい」「システム化すべきか判断に迷っている」といったご相談にも対応しています。
開発ありきではなく、現在の業務フローを確認したうえで、Excelの改善で対応できるのか、システム化したほうがよいのかも含めてご提案しています。まずは無料見積シミュレーターや60分無料相談をご活用ください。
まとめ|バーコード作成はエクセルで十分始められる
エクセルを使えば、専用ソフトを導入しなくてもバーコードを作成できます。
用途に応じて、次の方法を使い分けるのがおすすめです。
- JANコードなど規格に準拠したバーコードを作成したい:Microsoft Barcode Control
- 社内管理用のバーコードを手軽に大量作成したい:バーコードフォント+数式
- 検品や在庫管理などの業務を効率化したい:VBAによる一括生成・自動化
まずは実際にバーコードを作成し、スマートフォンやバーコードリーダーで読み取りテストを行ってみましょう。実際に試してみることで、エクセルだけでもバーコードを活用した業務改善ができることを実感できるはずです。
一方で、運用規模が大きくなると、エクセルだけでは対応が難しくなるケースもあります。そのような場合は、既存のエクセルを活かしたシステム開発や機能拡張を検討することで、入力ミスの削減や作業時間の短縮につながります。
セルネッツは、Excel・VBA開発に特化して約20年、219件以上の開発実績をもとに、お客様の業務に合わせたバーコード管理システムや検品・在庫管理システムの開発を行っています。
「今のエクセルをもっと使いやすくしたい」「システム化すべきか相談したい」という方は、まずは無料見積シミュレーターやお問い合わせフォームからお気軽にご相談ください。
毎日のExcel作業に、こんなお悩みはありませんか?
- 手作業の集計・転記に膨大な時間がかかっている
- 入力ミスや属人化で、共有・引き継ぎが難しい
- 業務は効率化したいが、高額なシステム投資はできない
そのお悩み、ExcelマクロとVBAによるシステム開発で解決できます。Excel専門のシステム開発会社『セルネッツ』なら、在庫管理・顧客管理・見積/請求管理など豊富な開発実績をもとに、低価格・スピード対応で業務の自動化を実現。普段お使いのExcelがそのままシステムになるため、導入したその日から効果を実感いただけます。
\Excel専門特化 × 低価格 × スピード対応/
全国対応・お見積もり無料
お電話 03-5941-9130(平

