【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マクロは大量生成の自動化に向いています。本記事を参考に、自身の業務に合った方法でバーコード活用を進めてみてください。