Excelでバーコード(CODE39)を作成したいときはないでしょうか。
けど、そんな中で悩むことは、
・小文字や記号が混ざっていて、どの文字が使えるのか分からない
・作ったバーコードをラベルにして印刷したい
ですね。
そんなときに使えるのが、エク短ツールズの「CODE39作成」です。
Excelの一覧を貼り付けるだけで、CODE39バーコードを一括作成でき、使えない文字の検証からラベル印刷までブラウザだけで完結します。
インストール不要・登録不要・データはブラウザ内で処理されるので、社外に出せない管理番号でも安心して使えます。
今回はそんなお悩みを解決する、
・Excelの一覧からCODE39を一括作成する手順
・使えない文字が見つかったときの直し方
・PNG・SVG・ZIPでの保存
・ラベルPDFの作成と印刷のコツ
・従来のVBA(バーコードコントロール)との違い
についてまとめます!
完成イメージ
Excelの一覧を取り込んで「画像を作成」を押すだけで、一覧と同じ順番でCODE39が並びます。
さらにPNG一括保存(ZIP)でまとめて受け取れます。ファイル名は「番号-品名.png」で入るので、そのまま管理できます。
そしてラベル用のPDFまで作れるので、印刷して貼るだけの状態になります。
実際に印刷したときのイメージはこちらです。
・使えない文字を自動で検証してくれるので、読み取れないバーコードを作らずに済みます
・PNG/SVG/ZIP一括DL、ラベルPDF・印刷までブラウザで完結します
・入力内容はブラウザ内で処理され、外部送信されません
もくじ
CODE39とは
CODE39は、大文字英数字と一部の記号を表せるバーコードです。
工業製品の管理番号や資産番号など、英字が混ざった社内採番と相性が良い方式です。
| 項目 | 内容 |
|---|---|
| 使える文字 | 大文字英数字(A〜Z・0〜9)、半角スペース、– . $ / + % |
| 使えない文字 | 小文字・日本語・全角・上記以外の記号(@ # & など) |
| 長さ | 1〜80文字(ツールの上限) |
| 開始・終了記号 | *(アスタリスク)が自動で付きます。入力は不要です |
| チェックデジット | 任意(付けることもできる) |
| 密度 | 低め。同じ内容ならCODE128より長くなります |
| 主な用途 | 製造・部品管理・資産管理・社内の採番 |
CODE39で使える文字(検証用シート)
サンプルExcelには、使える文字の一覧シートを入れています。
| 文字 | 内容 | 例 |
|---|---|---|
| A〜Z | 大文字アルファベット(小文字は不可) | ASSET |
| 0〜9 | 数字 | 001 |
| 半角スペース | 区切りに使える | A 001 |
| – . $ / + % | 記号(この5種のみ) | A-001/B$2 |
| 使えない例 | 小文字・日本語・全角・その他の記号 | asset-001(×) |
小文字が混ざるとエラーになります。Excel側で「UPPER関数」などを使って大文字に直しておくとスムーズです。
従来のVBA(バーコードコントロール)との違い
| 項目 | VBA(バーコードコントロール) | エク短ツールズ |
|---|---|---|
| 準備 | Access由来のライブラリが必要な場合がある | ブラウザだけ(インストール不要) |
| 文字の検証 | 自分でチェックする必要がある | 使えない文字を自動検証 |
| ラベル印刷 | 自分でレイアウトを組む | ラベルPDFを自動作成 |
| ブックへの影響 | OLEオブジェクトで重くなる | ブックはそのまま(Excelを汚さない) |
| 向いている場面 | Excel内で完結させたい | 大量作成・ラベル印刷 |
使い方①:Excelの一覧からCODE39を一括作成する
STEP1. 一覧を取り込む
まずはサンプルのExcelを用意します(この記事のサンプルは20件・4列です)。
| 資産番号 | 品名 | 価格 | 設置場所 |
|---|---|---|---|
| ASSET-001 | 事務用品セット01 | 1350 | 本社01棚 |
| ASSET-002 | 事務用品セット02 | 1500 | 本社02棚 |
| ASSET-003 | 事務用品セット03 | 1650 | 本社03棚 |
| ASSET-004 | 事務用品セット04 | 1800 | 本社04棚 |
ツールの「一覧を取り込む」で、入力方法を選びます。
| 入力方法 | 使いどころ |
|---|---|
| Excel表から貼り付け | Excelの表をそのまま貼りたいとき |
| XLSX・CSVファイル | ファイルをそのまま読み込みたいとき(列の割り当てが一番ラク) |
サンプルExcelのA列は文字列書式にしてあるので、先頭0のある管理番号でも消えません。
そのままコピーして貼り付けるだけでいいのでカンタンですね。
上限は100件・30列、1コード80文字まで。ラベルは合計500枚・50ページまで作成できます。
STEP2. 列を割り当てる
読み込んだら、どの列を何に使うかを指定します。
| 設定 | 指定する列の例 |
|---|---|
| CODE(必須) | A列=資産番号(CODE39にする値) |
| 品名 | B列=品名(ラベルに表示) |
| 価格 | C列=価格(ラベルに表示・無くてもOK) |
| 印刷枚数 | ラベルを何枚刷るか(1〜500) |
STEP3. コードを確認する
取り込んだ内容が一覧で表示され、使えない文字があればエラーとして知らせてくれます。
| 表示 | 意味 | 対処 |
|---|---|---|
| 正常 | そのまま作成できる | — |
| エラー | 使えない文字・80文字超など | その場で修正するか、行を削除する |
| エラー行の除外 | 正常行だけを出力したい | 「表示されたエラー行を除いて正常行だけを出力する」にチェック |
STEP4. 画像を作成して保存する
「画像を作成」を押すと、CODE39が生成されます。
各バーコードにはPNG保存・SVG保存のボタンが付き、
まとめて受け取るときは「PNG一括保存(ZIP)」が便利です。
| 保存形式 | 向いている用途 |
|---|---|
| PNG | そのまま貼り付け・メール添付・Web |
| SVG | 拡大しても劣化しない。印刷・DTP向け |
| ZIP | 大量のバーコードをまとめて受け取る |
・小文字はエラーになります。UPPER関数で大文字に直しておきましょう
・開始・終了の * は自動で付くので、入力する必要はありません
・印刷用ならSVGがきれいです
使い方②:ラベルとして印刷する
ラベルの設定では、用紙に合わせて次の項目を指定します。
| 項目 | 内容 |
|---|---|
| 用紙サイズ | A4など。ラベル用紙に合わせて選択 |
| ラベル幅・高さ | 市販ラベル用紙の寸法を入力 |
| 行数・列数 | 1ページに並べる数(枚数計算の基準) |
| ラベル内余白・文字サイズ | バーコードと文字の収まりを調整 |
印刷のコツ
| ポイント | 理由 |
|---|---|
| 等倍(100%)で印刷 | バーコードは縮小すると読み取れなくなるため |
| 「用紙に合わせる」はオフ | 自動縮小でバーが潰れるのを防ぐ |
| まず普通紙でテスト | 位置ずれを先に確認できる |
| 余白はラベル用紙に合わせる | 端が欠けると読み取り不能になる |
| 読み取り機で必ず確認 | 印刷後の確認が一番確実 |
Excelの段階で大文字に直しておくと、取り込み後の修正がぐっと減りますよ。
うまくいかないときの対処法(トラブルシュート)
| 症状 | 原因 | 対処 |
|---|---|---|
| 「使えない文字があります」と出る | 小文字・日本語・全角・記号(@ # & など) | 大文字英数字に直す/記号は – . $ / + % に置き換える |
| 小文字を大文字にしたい | Excel側が小文字のまま | 作業列に =UPPER(A2) を入れて値で貼り付ける |
| バーコードが長すぎる | CODE39は密度が低い | 桁数を短くする/CODE128への変更を検討する |
| 読み取れない | 印刷が小さい・かすれ・縮小印刷 | 等倍で印刷し、解像度を上げる |
| 先頭の0が消える | Excelが数値として扱っている | セルを文字列にしてから貼り付ける |
| 見出し行までバーコードになる | 「先頭行は見出し」が未指定 | 取り込み時に先頭行は見出しを選ぶ |
| ラベルからはみ出す | 行数・列数・余白の設定 | 行数/列数を減らし余白を調整する |
| 上限を超えて作成できない | 100件・500枚の制限 | 一覧を分割して複数回に分ける |
よくある間違い
| 間違い | 起きること | 正しいやり方 |
|---|---|---|
| 小文字のまま取り込む | エラーで作成できない | UPPER関数で大文字にする |
| ハイフンを全角「-」で入力 | 使えない文字としてエラー | 半角の「-」にする |
| CODE39とCODE128を混同する | 桁数や文字種でつまずく | 英字混じりの社内番号はCODE39、短くしたいならCODE128 |
| ラベルを縮小印刷する | バーが潰れて読めない | 等倍(100%)で印刷する |
参考:VBAで作る場合(従来の方法)
「どうしてもExcel内で完結させたい」という場合は、バーコードコントロールを使う方法もあります。
Sub CODE39を一括作成する()
Dim i As Long
Dim objBar As Object
' A列2行目以降の値を、B列のセルサイズに合わせてCODE39にする
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 = 6 ' 6 = Code-39
objBar.Value = Cells(i, 1).Value
Next i
Set objBar = Nothing
End Sub
| 注意点 | 内容 |
|---|---|
| ライブラリ | Microsoft BarCode Control が必要(Access由来。環境によっては入っていない) |
| バージョン | 「BarCode Control 16.0」などOfficeのバージョンで異なる |
| スタイル番号 | Style = 6 がCode-39 |
| 文字の検証 | 自動では行われないので、自分でチェックが必要 |
| ブックの重さ | OLEオブジェクトが増えるためファイルが重くなる |
大量作成・文字の検証・ラベル印刷が目的なら、ツールを使うほうが速くて安全です。
さいごに
今回は、Excelからバーコード(CODE39)を一括作成する方法をまとめました。
・Excelの一覧からCODE39を一括作成する手順
・使えない文字が見つかったときの直し方
・PNG・SVG・ZIPでの保存
・ラベルPDFの作成と印刷のコツ
2. Excelの一覧を貼り付けて列を割り当てる→コードを確認→画像を作成
3. PNG/SVG/ZIPで保存、ラベルPDFで印刷までできる
4. 印刷は等倍(100%)。縮小すると読み取れなくなる
5. 小文字・全角・使えない記号は事前にExcel側で直す
VBAで1件ずつ作っていた作業が、貼り付けて数クリックで終わります。
しかもブックを重くせず、使えない文字まで教えてくれるので、読み取れないバーコードを作らずに済みます。
まずは手元の資産台帳で、この流れをぜひ試してみてください。














コメントを残す