Excelでバーコード(CODE128)を作成したいときはないでしょうか。
けど、そんな中で悩むことは、
・桁数が多くてバーコードが長くなり、ラベルに収まらない
・作ったバーコードをラベルにして印刷したい
ですね。
そんなときに使えるのが、エク短ツールズの「CODE128作成」です。
Excelの一覧を貼り付けるだけで、CODE128バーコードを一括作成でき、商品名を別欄に持つ一覧からでもラベル印刷までブラウザだけで完結します。
インストール不要・登録不要・データはブラウザ内で処理されるので、社外に出せない管理番号でも安心して使えます。
今回はそんなお悩みを解決する、
・Excelの一覧からCODE128を一括作成する手順
・商品名を別欄に持つ一覧の取り込み方
・PNG・SVG・ZIPでの保存
・ラベルPDFの作成と印刷のコツ
・CODE39との使い分け
についてまとめます!
完成イメージ
Excelの一覧を取り込んで「画像を作成」を押すだけで、一覧と同じ順番でCODE128が並びます。
さらにPNG一括保存(ZIP)でまとめて受け取れます。ファイル名は「番号-品名.png」で入るので、そのまま管理できます。
そしてラベル用のPDFまで作れるので、印刷して貼るだけの状態になります。
実際に印刷したときのイメージはこちらです。
・半角英数字と記号(フルASCII)が使え、同じ内容ならCODE39より短くなります
・チェックデジットは自動で付くので、入力は不要です
・PNG/SVG/ZIP一括DL、ラベルPDF・印刷までブラウザで完結します
もくじ
CODE128とは
CODE128は、半角の英数字と記号(フルASCII)を表せる、密度の高いバーコードです。
同じ内容でもCODE39より短く収まるため、桁数の多い管理番号やラベルが小さい場面に向いています。
| 項目 | 内容 |
|---|---|
| 使える文字 | 半角英数字・記号(フルASCII 128文字) |
| 使えない文字 | 日本語・全角・制御文字 |
| 長さ | 1〜80文字(ツールの上限) |
| チェックデジット | 必須。ただし自動計算されるので入力不要 |
| 密度 | 高い。数字だけなら特に短い(サブセットC) |
| 主な用途 | 物流・出荷伝票・FA・医療・図書管理 |
CODE39とCODE128の使い分け
| 観点 | CODE39 | CODE128 |
|---|---|---|
| 使える文字 | 大文字英数字+一部記号 | 半角英数字+記号(フルASCII) |
| 小文字 | 不可 | 可 |
| バーコードの長さ | 長くなりやすい | 短く収まる |
| チェックデジット | 任意 | 必須(自動) |
| 向いている場面 | 英字混じりの社内番号・資産管理 | 物流・出荷・桁数が多い番号 |
ラベルが小さい/桁数が多いならCODE128、社内ルールでCODE39と決まっているならCODE39、という選び方が実務的です。
従来のVBA(バーコードコントロール)との違い
| 項目 | VBA(バーコードコントロール) | エク短ツールズ |
|---|---|---|
| 準備 | Access由来のライブラリが必要な場合がある | ブラウザだけ(インストール不要) |
| 文字の検証 | 自分でチェックする必要がある | 自動で検証 |
| ラベル印刷 | 自分でレイアウトを組む | ラベルPDFを自動作成 |
| ブックへの影響 | OLEオブジェクトで重くなる | ブックはそのまま(Excelを汚さない) |
| 向いている場面 | Excel内で完結させたい | 大量作成・ラベル印刷 |
使い方①:Excelの一覧からCODE128を一括作成する
STEP1. 一覧を取り込む
まずはサンプルのExcelを用意します(この記事のサンプルは20件・4列です)。
| 管理番号 | 品名 | 価格 | 出荷先 |
|---|---|---|---|
| ORD-20261020-001 | 出荷品目01 | 1300 | 東京01 |
| ORD-20261020-002 | 出荷品目02 | 1620 | 東京02 |
| ORD-20261020-003 | 出荷品目03 | 1940 | 東京03 |
| ORD-20261020-004 | 出荷品目04 | 2260 | 東京04 |
ツールの「一覧を取り込む」で、入力方法を選びます。
| 入力方法 | 使いどころ |
|---|---|
| Excel表から貼り付け | Excelの表をそのまま貼りたいとき |
| XLSX・CSVファイル | ファイルをそのまま読み込みたいとき(列の割り当てが一番ラク) |
サンプルExcelのA列は文字列書式にしてあるので、先頭0のある管理番号でも消えません。
そのままコピーして貼り付けるだけでいいのでカンタンですね。
上限は100件・30列、1コード80文字まで。ラベルは合計500枚・50ページまで作成できます。
STEP2. 列を割り当てる
CODE128は商品名を別の列から持ってこられるのが便利なところです。
| 設定 | 指定する列の例 |
|---|---|
| CODE(必須) | A列=管理番号(CODE128にする値) |
| 商品名 | B列=品名(ラベルに表示) |
| 価格 | C列=価格(ラベルに表示・無くてもOK) |
| 印刷枚数 | ラベルを何枚刷るか(1〜500) |
STEP3. コードを確認する
取り込んだ内容が一覧で表示され、使えない文字や桁数オーバーがあればエラーとして知らせてくれます。
| 表示 | 意味 | 対処 |
|---|---|---|
| 正常 | そのまま作成できる | — |
| エラー | 日本語・全角・80文字超など | その場で修正するか、行を削除する |
| エラー行の除外 | 正常行だけを出力したい | 「表示されたエラー行を除いて正常行だけを出力する」にチェック |
STEP4. 画像を作成して保存する
「画像を作成」を押すと、CODE128が生成されます。
各バーコードにはPNG保存・SVG保存のボタンが付き、
まとめて受け取るときは「PNG一括保存(ZIP)」が便利です。
| 保存形式 | 向いている用途 |
|---|---|
| PNG | そのまま貼り付け・メール添付・Web |
| SVG | 拡大しても劣化しない。印刷・DTP向け |
| ZIP | 大量のバーコードをまとめて受け取る |
・チェックデジットは自動で付くので、入力する必要はありません
・数字だけのコードは特に短くなります(省スペース)
・印刷用ならSVGがきれいです
使い方②:ラベルとして印刷する
ラベルの設定では、用紙に合わせて次の項目を指定します。
| 項目 | 内容 |
|---|---|
| 用紙サイズ | A4など。ラベル用紙に合わせて選択 |
| ラベル幅・高さ | 市販ラベル用紙の寸法を入力 |
| 行数・列数 | 1ページに並べる数(枚数計算の基準) |
| ラベル内余白・文字サイズ | バーコードと文字の収まりを調整 |
印刷のコツ
| ポイント | 理由 |
|---|---|
| 等倍(100%)で印刷 | バーコードは縮小すると読み取れなくなるため |
| 「用紙に合わせる」はオフ | 自動縮小でバーが潰れるのを防ぐ |
| まず普通紙でテスト | 位置ずれを先に確認できる |
| 余白はラベル用紙に合わせる | 端が欠けると読み取り不能になる |
| 読み取り機で必ず確認 | 印刷後の確認が一番確実 |
同じ番号でもCODE39より短くなるので、たいていのラベルに収まりますよ。
うまくいかないときの対処法(トラブルシュート)
| 症状 | 原因 | 対処 |
|---|---|---|
| 「使えない文字があります」と出る | 日本語・全角・制御文字 | 半角英数字に直す(全角→半角変換を使う) |
| ラベルに収まらない | 桁数が多い/ラベルが小さい | 桁数を短くする/行数・列数や文字サイズを調整する |
| 読み取れない | 印刷が小さい・かすれ・縮小印刷 | 等倍で印刷し、解像度を上げる |
| 先頭の0が消える | Excelが数値として扱っている | セルを文字列にしてから貼り付ける |
| チェックデジットを入れてしまう | 自分で計算して末尾に付けた | 入力しない(自動で付きます) |
| 見出し行までバーコードになる | 「先頭行は見出し」が未指定 | 取り込み時に先頭行は見出しを選ぶ |
| ラベルからはみ出す | 行数・列数・余白の設定 | 行数/列数を減らし余白を調整する |
| 上限を超えて作成できない | 100件・500枚の制限 | 一覧を分割して複数回に分ける |
よくある間違い
| 間違い | 起きること | 正しいやり方 |
|---|---|---|
| 日本語のまま取り込む | エラーで作成できない | 半角英数字の管理番号にする |
| チェックデジットを手で付ける | 二重になって読み取り値が変わる | 入力しない(自動計算) |
| CODE39のつもりで小文字を入れる | CODE39ではエラー | CODE128なら小文字もOK |
| ラベルを縮小印刷する | バーが潰れて読めない | 等倍(100%)で印刷する |
参考:VBAで作る場合(従来の方法)
「どうしてもExcel内で完結させたい」という場合は、バーコードコントロールを使う方法もあります。
Sub CODE128を一括作成する()
Dim i As Long
Dim objBar As Object
' A列2行目以降の値を、B列のセルサイズに合わせてCODE128にする
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
With Cells(i, 2)
ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", _
Link:=False, DisplayAsIcon:=False, _
Left:=.Left + 2, Top:=.Top + 2, _
Width:=.Width - 2, Height:=.Height - 2).Select
End With
Set objBar = Selection.Object
objBar.Style = 7 ' 7 = Code-128
objBar.Value = Cells(i, 1).Value
Next i
Set objBar = Nothing
End Sub
| 注意点 | 内容 |
|---|---|
| ライブラリ | Microsoft BarCode Control が必要(Access由来。環境によっては入っていない) |
| バージョン | 「BarCode Control 16.0」などOfficeのバージョンで異なる |
| スタイル番号 | Style = 7 がCode-128 |
| 文字の検証 | 自動では行われないので、自分でチェックが必要 |
| ブックの重さ | OLEオブジェクトが増えるためファイルが重くなる |
大量作成・文字の検証・ラベル印刷が目的なら、ツールを使うほうが速くて安全です。
さいごに
今回は、Excelからバーコード(CODE128)を一括作成する方法をまとめました。
・Excelの一覧からCODE128を一括作成する手順
・商品名を別欄に持つ一覧の取り込み方
・PNG・SVG・ZIPでの保存
・ラベルPDFの作成と印刷のコツ
・CODE39との使い分け
2. 一覧を貼り付けて列を割り当てる→コードを確認→画像を作成
3. チェックデジットは自動。手で付けない
4. PNG/SVG/ZIPで保存、ラベルPDFで印刷までできる
5. 印刷は等倍(100%)。縮小すると読み取れなくなる
VBAで1件ずつ作っていた作業が、貼り付けて数クリックで終わります。
しかもブックを重くせず、ラベルに収まる短いバーコードを作れるので、出荷や物流の現場でも使いやすくなりました。
まずは手元の出荷一覧で、この流れをぜひ試してみてください。














コメントを残す