エクセルマニア

エクセル バーコード JAN VBA

TOP > バーコード(JAN・CODE39・NW-7)の印刷 > バーコード出力アプリ(JAN-NW7-CODE39).xls のVBAプログラム
このエントリーをはてなブックマークに追加
バーコード出力アプリ(JAN-NW7-CODE39).xls のVBAプログラムの概要です。ご利用シーンにより適宜変更して下さい。

シートの削除部分

既に「バーコード出力」シートがある場合は削除します。ActiveWorkbook.Sheetsオブジェクトをループさせることで該当シートを確認します。

For Each sh In ActiveWorkbook.Sheets
  If sh.Name = "バーコード出力" Then
    Application.DisplayAlerts = False
    Worksheets("バーコード出力").Delete
    Application.DisplayAlerts = True
  End If
Next sh

'削除時に確認ダイアログを表示しないようにします
Application.DisplayAlerts = False
'「バーコード出力」シートの削除
Worksheets("バーコード出力").Delete
'削除時に確認するように(元に戻します)
Application.DisplayAlerts = True

バーコードフォントの選択

バーコード一覧シートの各行D列からバーコードフォントの種類とサイズを設定しています。 code39の場合は*でくくり、NW-7の場合はa~bでくくります。janの場合は自作したcode2jan()関数で文字列変換を行います。

'バーコードの種類
If barcode_type = "code39" Then
    Worksheets("バーコード出力").Cells(y, x + 2).Value = "*" & barcode & "*"
    Worksheets("バーコード出力").Cells(y, x + 2).Font.Name = "K's BarCodeFont Code39"
    Worksheets("バーコード出力").Cells(y, x + 2).Font.Size = 28
ElseIf barcode_type = "jan" Then
    Worksheets("バーコード出力").Cells(y, x + 2).Value = code2jan(barcode)
    Worksheets("バーコード出力").Cells(y, x + 2).Font.Name = "JANバーコード"
    Worksheets("バーコード出力").Cells(y, x + 2).Font.Size = 22
ElseIf barcode_type = "nw7" Then
    Worksheets("バーコード出力").Cells(y, x + 2).Value = "a" & barcode & "b"
    Worksheets("バーコード出力").Cells(y, x + 2).Font.Name = "NW-7"
    Worksheets("バーコード出力").Cells(y, x + 2).Font.Size = 18
End If

VBAでセルの書式設定

各セルの書式設定を設定しています。

'商品名のセルのフォーマット
Worksheets("バーコード出力").Cells(y, x).Value = product_name
Worksheets("バーコード出力").Cells(y, x).ShrinkToFit = True
'価格のセルのフォーマット
Worksheets("バーコード出力").Cells(y, x + 1).Value = product_price
Worksheets("バーコード出力").Cells(y, x + 1).NumberFormatLocal = "\ #,##0"
'バーコードのセルのフォーマット
Worksheets("バーコード出力").Cells(y, x + 2).NumberFormat = "@"
Worksheets("バーコード出力").Cells(y, x + 2).HorizontalAlignment = xlCenter

'文字列を縮小して表示
Worksheets("バーコード出力").Cells(y, x).ShrinkToFit = True
'セルの表示形式"\9,888,777"のようなを通貨形式に
Worksheets("バーコード出力").Cells(y, x + 1).NumberFormatLocal = "\ #,##0"
'セルの表示形式を文字列に
Worksheets("バーコード出力").Cells(y, x + 2).NumberFormat = "@"
'文字を中央寄せに
Worksheets("バーコード出力").Cells(y, x + 2).HorizontalAlignment = xlCenter

列の幅の設定と印刷プレビュー


列の幅を設定
Worksheets("バーコード出力").Cells(1, 1).ColumnWidth = 26
Worksheets("バーコード出力").Cells(1, 2).ColumnWidth = 13
Worksheets("バーコード出力").Cells(1, 3).ColumnWidth = 26
印刷プレビューにする
ActiveWindow.View = xlPageBreakPreview