excel

【Excel】エクセルでバーコードを一括作成(関数やマクロ・自動作成・大量・数字を変換

当サイトでは記事内に広告を含みます

エクセルでバーコードを作成できることをご存じでしょうか。専用ソフトがなくても、エクセルの機能やフォントを活用することで、商品管理や在庫管理に使えるバーコードをまとめて作成することができます。

本記事では、エクセルでバーコードを一括作成する方法を詳しく解説します。バーコードフォントを使った方法、ActiveXコントロールを使った方法、VBAによる自動生成まで幅広くご紹介します。

「商品リストのバーコードをまとめて作りたい」「エクセルだけでバーコードラベルを作成したい」という方にもきっと役立つ内容です。ぜひ最後までお読みください。

 

 

エクセルでバーコードを一括作成するならバーコードフォントかActiveXコントロールが最適

それではまず、エクセルでバーコードを一括作成する方法の全体像について解説していきます。

エクセルでバーコードを作成する方法は主に3つあります。無料のバーコードフォントをインストールして文字列をバーコード化する方法、開発タブのActiveXコントロール(Microsoft BarCode Control)を使う方法、そしてVBAで複数のバーコードを自動生成する方法です。

それぞれ対応できるバーコードの種類や操作の難易度が異なります。手軽に試したい場合はバーコードフォント、QRコードや高機能なバーコードが必要な場合はActiveXコントロールが適しているでしょう。大量のバーコードを自動生成したい場合はVBAが最も効率的です。

エクセルでのバーコード作成方法まとめ

・バーコードフォント:無料フォントをインストールしてセルに適用するだけ

・ActiveXコントロール:開発タブからBarCode Controlを挿入して設定する

・VBA:ループ処理でリストのデータから複数バーコードを自動生成する

・外部サービス連携:Web APIを使ってバーコード画像を取得して貼り付ける

まず、バーコードフォントを使った基本的なバーコード作成の流れを確認しましょう。

📗
Microsoft Excel – 商品リスト.xlsx
🔲 ─ ✕

C2

fx

=”*”&B2&”*”

A B C(バーコード列)
1 商品名 バーコード番号 バーコード表示(フォント適用)
2 商品A 4901234567890
4901234567890
3 商品B 4909876543210 ↓ オートフィルで引っ張る
4 商品C 4901111222333
↑ C2に =”*”&B2&”*” を入力し、バーコードフォントを適用後、オートフィルで引っ張る

📄 商品リスト

バーコードフォントを使った方法では、C列に「=”*”&B2&”*”」のような数式を入力し、そのセルにバーコードフォントを適用するだけでバーコードが表示されます。数式をオートフィルで引っ張るだけで複数行分のバーコードを一気に作成できるため、大量の商品データにも素早く対応できるでしょう。

 

 

バーコードフォントを使って一括作成する方法

続いては、バーコードフォントを使ってエクセルでバーコードを一括作成する具体的な手順を確認していきます。

バーコードフォントの入手とインストール

バーコードフォントは「Free 3 of 9」「Code 39」などの名称で無料配布されているものが多くあります。インターネットで「バーコードフォント 無料」と検索すると入手できます。ダウンロードしたフォントファイル(.ttf形式)を右クリックして「インストール」を選択すると、Windowsにフォントが追加されます。

エクセルを開いている場合は、フォントインストール後に再起動することで新しいフォントが反映されます。Code 39形式のバーコードはアスタリスク(*)でデータを挟む形式が一般的で、「=”*”&A2&”*”」のように数式を組み立てます。

=”*”&B2&”*”

↑ B2のバーコード番号をアスタリスクで挟んでCode39形式に変換する数式

例:B2が「12345」の場合 → *12345* と表示され、バーコードフォントでバーコード化される

フォントを一括適用してバーコードを一括生成する

数式を入力したセル範囲を選択し、フォント欄に「Free 3 of 9」などのバーコードフォント名を入力してEnterを押します。すると、選択したすべてのセルにバーコードフォントが適用され、一括でバーコード表示に切り替わります。

フォントサイズを大きくするほどバーコードが縦長に伸びるため、スキャナーで読み取れるサイズ(フォントサイズ36〜48程度)に設定しておくと実用的でしょう。セルの行の高さも合わせて広げておくと見やすくなります。

対応するバーコードの種類と用途の違い

バーコードにはさまざまな規格があります。エクセルで扱いやすい代表的な種類を以下にまとめました。

種類 用途 特徴
Code 39 工場・物流・社内管理 英数字・記号に対応。フォント方式が使いやすい
Code 128 物流・小売 高密度でデータ量が多い。ActiveXで対応
JAN(EAN-13) 商品バーコード(店舗) 13桁の数字。日本の商品に広く使用
QRコード URL・テキスト情報 2次元。エクセルのActiveXまたは外部ツールで生成

 

 

ActiveXコントロールでバーコードを作成する方法

続いては、エクセルのActiveXコントロール(Microsoft BarCode Control)を使ってバーコードを作成する方法を確認していきます。

開発タブを表示してActiveXコントロールを挿入する

ActiveXコントロールを使うには、まず「開発」タブを表示する必要があります。「ファイル」→「オプション」→「リボンのユーザー設定」で「開発」にチェックを入れ「OK」をクリックします。

📗
Microsoft Excel – 商品リスト.xlsx
🔲 ─ ✕

ホーム
挿入
ページレイアウト
数式
データ
校閲
表示
開発

📝
Visual Basic

マクロの記録
🔲
コントロールの
挿入
⚙️
デザイン
モード
🗂️
プロパティ

「コントロールの挿入」→「その他のコントロール」からBarCode Controlを選択
コントロールの選択
Microsoft BarChart Control
Microsoft BarCode Control 16.0 ✓
Microsoft Calendar Control
Microsoft Date and Time Picker

「開発」タブが表示されたら「コントロールの挿入」→「その他のコントロール」をクリックし、一覧から「Microsoft BarCode Control 16.0」を選択して「OK」をクリックします。シート上にドラッグするとバーコードオブジェクトが配置されます。

Microsoft BarCode ControlはOffice 2019以降や365では標準搭載されていない場合があります。表示されない場合はOfficeのバージョンを確認するか、別の方法(バーコードフォントやVBA)を検討しましょう。

LinkedCellでセルのデータとバーコードを連動させる

配置したバーコードオブジェクトを右クリック→「Microsoft BarCode Control 16.0 オブジェクト」→「プロパティ」を開きます。「LinkedCell」欄に対象セルのアドレス(例:B2)を入力すると、そのセルの値が変わるたびにバーコードが自動的に更新されます。

LinkedCell:B2

↑ B2セルの値をバーコードに反映させる設定

Style(バーコード種類):0=Code 39、1=Code 128、5=JAN-13 など

VBAでバーコードを複数セルに自動配置する

商品リストの各行にバーコードを自動配置するにはVBAが便利です。ループ処理でActiveXバーコードオブジェクトを行ごとに生成し、LinkedCellを設定することで、リストの全行にバーコードを一括生成できます。

📗
Microsoft Visual Basic for Applications – 商品リスト.xlsm
ファイル(F)編集(E)表示(V)挿入(I)実行(R)ツール(T)
VBAProject
📁 標準モジュール
Module1

Sub CreateBarcodes()
    ‘ B列のバーコード番号を元にC列へ一括生成
    Dim ws As Worksheet
    Dim i As Integer
    Dim lastRow As Integer
    Dim bc As OLEObject
    Set ws = ThisWorkbook.Sheets(“商品リスト”)
    lastRow = ws.Cells(ws.Rows.Count, “B”).End(xlUp).Row
    For i = 2 To lastRow
        Set bc = ws.OLEObjects.Add(“BARCODE.BarCodeCtrl.1”)
        bc.LinkedCell = “B” & i
        bc.Top = ws.Cells(i, 3).Top
        bc.Left = ws.Cells(i, 3).Left
        bc.Width = 150
        bc.Height = 40
    Next i
    MsgBox “バーコードを一括生成しました!”
End Sub

このコードを実行すると、B列のデータ行数分だけバーコードオブジェクトがC列に自動配置されます。「lastRow」で最終行を自動検出するため、データが何行あっても対応できます。

 

 

バーコード作成時の注意点とトラブル対処法

続いては、エクセルでバーコードを作成する際によくある注意点とトラブルの対処法を確認していきます。

バーコードが読み取れない場合の確認ポイント

作成したバーコードがスキャナーで読み取れない場合は、いくつかの原因が考えられます。最も多いのはバーコードのサイズが小さすぎるケースです。フォントサイズを36以上に設定し、セルの行の高さも十分に確保しましょう。

また、Code 39形式ではアスタリスク(*)でデータを挟んでいるかどうかの確認も重要です。「=”*”&B2&”*”」のような数式でアスタリスクが正しく挿入されていないと、スキャナーが認識できません。

📗
バーコードサイズの比較(フォントサイズ別)

❌ フォントサイズ 12(小さすぎ)

12345

読み取り不可の場合あり

✅ フォントサイズ 40(推奨)

12345

スキャナーで読み取り可能

💡 バーコードフォントのサイズは36〜48が読み取りに適しています。印刷後にスキャナーでテスト確認することをおすすめします。

印刷時にバーコードが正しく出力されない場合の対処

画面上では正しく表示されていても、印刷するとバーコードが崩れるケースがあります。この場合はプリンターの解像度設定を確認しましょう。解像度が低いと細いバーが潰れてしまい、スキャナーが読み取れなくなります。プリンターの印刷品質を「高品質」や「きれい」に設定して再度印刷してみてください。

また、バーコードフォントを使った場合にフォントが正しく印刷されないときは、PDFとして出力してからPDFを印刷する方法も有効です。PDFに変換することでフォントが埋め込まれ、環境に依存しない印刷が可能になります。

BarCode Controlが表示されない場合の対処法

「その他のコントロール」の一覧に「Microsoft BarCode Control」が表示されない場合は、Office版のBarCode Controlがインストールされていない可能性があります。Office 365のサブスクリプション版では含まれていないケースがあります。

この場合はバーコードフォントを使う方法か、外部のバーコード生成サービス(Web API)を利用してバーコード画像を取得し、エクセルに貼り付ける方法で代替できます。

トラブル 原因 対処法
バーコードが読み取れない サイズが小さい・アスタリスク漏れ フォントサイズを36以上に変更、数式を確認
印刷時に崩れる プリンター解像度が低い 高品質印刷に設定・PDF経由で印刷
BarCode Controlが見つからない Office版に含まれていない バーコードフォント方式に切り替える
フォントがエクセルに表示されない フォントインストール後に再起動していない エクセルを再起動して再確認

 

 

まとめ

本記事では、エクセルでバーコードを一括作成する方法について解説しました。

手軽さを重視するならバーコードフォントを使った方法、多様な規格に対応したい場合はActiveXコントロール、大量データを自動処理したい場合はVBAが最適です。それぞれの方法の特徴を理解した上で、目的に合った方法を選びましょう。

バーコードが読み取れない場合はフォントサイズや数式の形式を見直し、印刷品質も合わせて確認することが大切です。一度設定が完了すれば、商品リストや在庫管理表に素早くバーコードを追加できるようになるでしょう。

ぜひ本記事の手順を参考に、エクセルでのバーコード作成にお役立てください。