Excelからバーコード(CODE39)を一括作成する方法!ラベル印刷も!

Excelでバーコード(CODE39)を作成したいときはないでしょうか。

けど、そんな中で悩むことは、

・Excelの管理番号からCODE39を一括で作りたい
・小文字や記号が混ざっていて、どの文字が使えるのか分からない
・作ったバーコードをラベルにして印刷したい

ですね。

そんなときに使えるのが、エク短ツールズの「CODE39作成」です。

Excelの一覧を貼り付けるだけで、CODE39バーコードを一括作成でき、使えない文字の検証からラベル印刷までブラウザだけで完結します。

インストール不要・登録不要・データはブラウザ内で処理されるので、社外に出せない管理番号でも安心して使えます。

今回はそんなお悩みを解決する、

・CODE39で使える文字と基本ルール
・Excelの一覧からCODE39を一括作成する手順
・使えない文字が見つかったときの直し方
・PNG・SVG・ZIPでの保存
・ラベルPDFの作成と印刷のコツ
・従来のVBA(バーコードコントロール)との違い

についてまとめます!

完成イメージ

Excelの一覧を取り込んで「画像を作成」を押すだけで、一覧と同じ順番でCODE39が並びます。

一覧から一括作成したCODE39バーコード

さらにPNG一括保存(ZIP)でまとめて受け取れます。ファイル名は「番号-品名.png」で入るので、そのまま管理できます。

ZIPで一括ダウンロードしたファイル一覧

そしてラベル用のPDFまで作れるので、印刷して貼るだけの状態になります。

ラベルPDFのプレビュー

実際に印刷したときのイメージはこちらです。

出力したラベルPDFの印刷イメージ

エク短ツールズ「CODE39作成」はこちら

POINT
・Excelの一覧を貼り付けるだけでCODE39を一括作成できます
・使えない文字を自動で検証してくれるので、読み取れないバーコードを作らずに済みます
・PNG/SVG/ZIP一括DL、ラベルPDF・印刷までブラウザで完結します
・入力内容はブラウザ内で処理され、外部送信されません

CODE39とは

CODE39は、大文字英数字と一部の記号を表せるバーコードです。

工業製品の管理番号や資産番号など、英字が混ざった社内採番と相性が良い方式です。

項目 内容
使える文字 大文字英数字(A〜Z・0〜9)、半角スペース、– . $ / + %
使えない文字 小文字・日本語・全角・上記以外の記号(@ # & など)
長さ 1〜80文字(ツールの上限)
開始・終了記号 *(アスタリスク)が自動で付きます。入力は不要です
チェックデジット 任意(付けることもできる)
密度 低め。同じ内容ならCODE128より長くなります
主な用途 製造・部品管理・資産管理・社内の採番

CODE39で使える文字(検証用シート)

サンプルExcelには、使える文字の一覧シートを入れています。

CODE39で使える文字の一覧
文字 内容 例
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列です)。

入力サンプルのExcel(資産番号・品名・価格・設置場所)
資産番号 品名 価格 設置場所
ASSET-001 事務用品セット01 1350 本社01棚
ASSET-002 事務用品セット02 1500 本社02棚
ASSET-003 事務用品セット03 1650 本社03棚
ASSET-004 事務用品セット04 1800 本社04棚

ツールの「一覧を取り込む」で、入力方法を選びます。

入力方法 使いどころ
Excel表から貼り付け Excelの表をそのまま貼りたいとき
XLSX・CSVファイル ファイルをそのまま読み込みたいとき(列の割り当てが一番ラク)
一覧を取り込む画面(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保存・SVG保存のボタンが付き、「画像を作成」「PNG一括保存(ZIP)」ボタン

まとめて受け取るときは「PNG一括保存(ZIP)」が便利です。

保存形式 向いている用途
PNG そのまま貼り付け・メール添付・Web
SVG 拡大しても劣化しない。印刷・DTP向け
ZIP 大量のバーコードをまとめて受け取る
POINT
・CODEで使えるのは大文字英数字+半角スペース+- . $ / + % だけです
・小文字はエラーになります。UPPER関数で大文字に直しておきましょう
・開始・終了の * は自動で付くので、入力する必要はありません
・印刷用ならSVGがきれいです
ZIPで一括ダウンロードしたファイル一覧

使い方②:ラベルとして印刷する

ラベルの設定では、用紙に合わせて次の項目を指定します。

項目 内容
用紙サイズ A4など。ラベル用紙に合わせて選択
ラベル幅・高さ 市販ラベル用紙の寸法を入力
行数・列数 1ページに並べる数(枚数計算の基準)
ラベル内余白・文字サイズ バーコードと文字の収まりを調整
ラベルの設定(用紙サイズ・行数・列数) ラベルPDFのプレビュー 出力したラベルPDFの1ページ目

印刷のコツ

ポイント 理由
等倍(100%)で印刷 バーコードは縮小すると読み取れなくなるため
「用紙に合わせる」はオフ 自動縮小でバーが潰れるのを防ぐ
まず普通紙でテスト 位置ずれを先に確認できる
余白はラベル用紙に合わせる 端が欠けると読み取り不能になる
読み取り機で必ず確認 印刷後の確認が一番確実

タカヒロ

タカヒロ
CODE39は「小文字が使えない」これだけ覚えておけば大丈夫です。
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)を一括作成する方法をまとめました。

・CODE39で使える文字と基本ルール
・Excelの一覧からCODE39を一括作成する手順
・使えない文字が見つかったときの直し方
・PNG・SVG・ZIPでの保存
・ラベルPDFの作成と印刷のコツ
1. CODE39で使えるのは大文字英数字+半角スペース+- . $ / + % だけ
2. Excelの一覧を貼り付けて列を割り当てる→コードを確認→画像を作成
3. PNG/SVG/ZIPで保存、ラベルPDFで印刷までできる
4. 印刷は等倍(100%)。縮小すると読み取れなくなる
5. 小文字・全角・使えない記号は事前にExcel側で直す

VBAで1件ずつ作っていた作業が、貼り付けて数クリックで終わります。

しかもブックを重くせず、使えない文字まで教えてくれるので、読み取れないバーコードを作らずに済みます。

まずは手元の資産台帳で、この流れをぜひ試してみてください。

エク短ツールズ「CODE39作成」はこちら



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image