excel

【Excel】エクセルでバーコードの作成方法(できない・読み取れない・関数・一括・フォント・セル参照・無料)

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

【Excel】エクセルでバーコードを作成する方法(関数・フォント・無料で作る方法・作成できない原因と対処法も)

エクセルでバーコードを作成したいけれど、どの方法を選べばよいかわからない。そんな方のために、本記事ではエクセルでバーコードを作成するすべての主要な方法を網羅的に解説します。

エクセルでバーコードを作る方法には、ActiveXコントロール・バーコードフォント・関数・VBAマクロなど複数の手段があります。それぞれにメリットと注意点があるため、用途や環境に合わせた方法を選ぶことが重要です。

無料で作る方法から作成できない場合の原因と対処法まで、実践的な内容でお届けします。

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

それではまず、エクセル標準のActiveXコントロール「Microsoft BarCode Control」を使ったバーコード作成の手順について解説していきます。

Microsoft BarCode Controlの挿入手順

Microsoft BarCode ControlはOfficeに付属するActiveXコントロールで、エクセル上にバーコードオブジェクトとして配置できます。

1. 「開発」タブをクリックする(表示されていない場合はオプションから有効化する)

2. 「挿入」→「その他のコントロール」をクリックする

3. 一覧から「Microsoft BarCode Control 16.0」を選択してOKをクリックする

4. シート上でドラッグしてバーコードの配置エリアを描く

5. 挿入されたバーコードオブジェクトを右クリック→「Microsoft BarCode Controlオブジェクト」→「プロパティ」を開く

6. バーコードの種類(Code39・Code128・JANなど)を選択する

バーコードに表示する値は、オブジェクトのLinkedCellプロパティでセルとリンクさせることで動的に変更できます。

セルの値をバーコードにリンクさせる設定

バーコードオブジェクトをセルの値と連動させるには、VBEでコードを記述する方法と、プロパティウィンドウから設定する方法があります。

‘VBAでセルA1の値をバーコードに反映させるコード例

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = “$A$1” Then

BarCode1.Value = Range(“A1”).Value

End If

End Sub

このコードをシートモジュールに記述することで、A1セルの値が変わるたびにバーコードが自動更新されます。

バーコードの種類を選択する際のポイント

Microsoft BarCode Controlではバーコードの規格を選択できます。用途に合った規格を選ぶことが重要です。

バーコード種類 主な用途 使用できる文字
Code39 工業・物流管理 英数字・一部記号
Code128 物流・商品管理 ASCII全文字
JAN-13(EAN-13) 小売商品 数字13桁
JAN-8(EAN-8) 小型商品 数字8桁
NW-7(Codabar) 宅配・図書館 数字・一部記号

バーコードフォントを使って無料でバーコードを作成する方法

続いては、バーコードフォントを使って無料でバーコードを作成する方法を確認していきます。

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

インターネット上ではCode39・Code128などのバーコードフォントが無料配布されています。代表的なものとして「Free 3 of 9」(Code39対応)や「Code128」フォントがあります。

1. 「Free 3 of 9」などのバーコードフォントを公式配布サイトからダウンロードする

2. ダウンロードしたフォントファイル(.ttfまたは.otf)を右クリックし「インストール」をクリックする

3. エクセルを再起動してフォント一覧に反映させる

フォントのインストールはWindowsの管理者権限が必要な場合があります。業務PCでは事前にIT管理者に確認しましょう。

エクセルのセルにバーコードフォントを適用する手順

1. バーコード化したい値をA1セルに入力する(例:12345)

2. Code39の場合はB1セルに =「*」&A1&「*」と入力する(前後にアスタリスクが必要)

3. B1セルを選択し、フォントを「Free 3 of 9」に変更する

4. フォントサイズを36〜48pt程度に拡大してバーコードを見やすくする

バーコードフォントを使った方法は追加費用が不要で手軽ですが、印刷時のフォント置換に注意が必要です。PDF出力する場合はフォントを埋め込む設定を忘れずに行いましょう。

関数を使ってCode128バーコードを生成する方法

Code128はチェックデジットの計算が必要なため、単純なフォント適用だけでは正確なバーコードを生成できません。そのため、チェックデジットを計算するカスタム関数(UDF)をVBAで作成してから使用する方法が一般的です。

Code128バーコードを正確に生成するには、VBAでチェックデジット計算関数を作成し、その結果にCode128フォントを適用するという手順が必要です。無料テンプレートやサンプルコードを活用することで、専門知識がなくても実装できます。

VBAマクロでバーコードを自動生成する方法

続いては、VBAマクロを使ってバーコードを自動生成する方法を確認していきます。

VBAでバーコード画像を一括生成するコード例

大量の商品コードをバーコードに変換したい場合は、VBAマクロを使った一括生成が効率的です。

Sub GenerateBarcodes()

Dim i As Integer

Dim bc As Object

For i = 1 To 10

Set bc = ActiveSheet.OLEObjects.Add( _

ClassType:=”BARCODE.BarCodeCtrl.1″, _

Left:=100, Top:=i * 30, Width:=200, Height:=25)

bc.Object.Value = Cells(i, 1).Value

bc.Object.Style = 6 ’Code128を指定

Next i

End Sub

このコードはA列の値を1行ずつ読み取り、隣にバーコードオブジェクトを自動配置するものです。Styleの番号を変えることで異なるバーコード規格を指定できます。

バーコード生成APIをVBAから呼び出す方法

インターネット上には無料のバーコード生成APIも公開されています。VBAのHTTPリクエスト機能を使ってAPIにアクセスし、バーコード画像をエクセルに貼り付けることも可能です。この方法ではActiveXコントロールが不要なため、Office 365環境や制限された環境でも活用できるでしょう。

バーコードを印刷用に最適化する設定

作成したバーコードを印刷する際は、以下の点に注意することで読み取り精度を高められます。

・解像度は300dpi以上で印刷する

・バーコードの高さは最低10mm以上を確保する

・左右のクワイエットゾーン(余白)はバーコード幅の10%以上確保する

・背景は白、バーは黒で高コントラストを保つ

バーコードが作成できない原因と対処法

続いては、エクセルでバーコードが作成できない・表示されない場合の原因と対処法を確認していきます。

開発タブが表示されない場合の対処法

1. 「ファイル」→「オプション」をクリックする

2. 「リボンのユーザー設定」を選択する

3. 右側の一覧から「開発」にチェックを入れる

4. OKをクリックしてリボンに開発タブを表示させる

Microsoft BarCode Controlが一覧に表示されない場合

「その他のコントロール」の一覧にMicrosoft BarCode Controlが表示されない場合、Officeのインストール構成に含まれていない可能性があります。

Office 365(Microsoft 365)の一部プランではBarCode Controlが含まれていないケースがあるため、Officeのオンライン修復を試みるか、バーコードフォントを使った代替方法に切り替えることを検討しましょう。

バーコードが白紙・空白で表示される場合の対処法

バーコードオブジェクトを挿入しても白紙のまま表示される場合は、デザインモードが有効になっていないか確認しましょう。「開発」タブの「デザインモード」ボタンがオンになっている状態でないと、バーコードが正しく描画されないことがあります。

また、ActiveXの設定でコントロールの実行が制限されている場合も同様の症状が発生します。トラストセンターのActiveX設定を確認して、コントロールの実行を許可しましょう。

まとめ

本記事では、【Excel】エクセルでバーコードを作成する方法として、ActiveXコントロール・バーコードフォント・VBAマクロを使った方法と、作成できない場合の原因・対処法まで詳しく解説しました。

目的や環境に合わせて最適な方法を選択することが、バーコード作成を成功させるカギです。無料のバーコードフォントは手軽に始められ、ActiveXコントロールはセルとのリンクによる動的生成が得意、VBAマクロは大量生成の自動化に向いています。本記事を参考に、自身の業務に合った方法でバーコード活用を進めてみてください。