Tạo Mã Vạch Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mở Đầu

Trong thời đại số hoá, việc quản lý hàng tồn kho, bán hàng và logistics ngày càng phụ thuộc vào công nghệ. Một trong những công cụ quan trọng giúp tối ưu hoá quy trình này là mã vạch (barcode). Mã vạch không chỉ giúp nhận dạng nhanh chóng sản phẩm mà còn giảm thiểu sai sót, tăng tốc độ xử lý dữ liệu.

Microsoft Excel, với tính linh hoạt và khả năng mở rộng, là một trong những phần mềm phổ biến nhất để tạo và quản lý mã vạch. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những kiến thức cơ bản nhất cho đến các kỹ thuật nâng cao, giúp bạn tự tạo mã vạch trong Excel một cách hiệu quả và chuyên nghiệp.

1. Hiểu Về Mã Vạch Và Các Loại Mã Vạch Phổ Biến

1.1 Mã vạch là gì?

Mã vạch là một dãy các thanh và khoảng trống (cũng có thể là các ký tự số hoặc chữ) được mã hoá để chứa thông tin về một đối tượng, thường là sản phẩm. Khi được quét bằng máy đọc mã vạch (barcode scanner), dữ liệu sẽ được truyền tới hệ thống quản lý để thực hiện các thao tác như nhập kho, xuất kho, thanh toán, v.v.

1.2 Các loại mã vạch thường gặp

Loại mã vạchĐịnh dạngỨng dụng chính
EAN-1313 chữ sốSiêu thị, bán lẻ
UPC-A12 chữ sốThị trường Bắc Mỹ
Code 39Ký tự chữ và sốQuản lý kho, công nghiệp
Code 128Ký tự đa dạng, mật độ caoVận chuyển, logistics
QR CodeHai chiều, chứa nhiều dữ liệuMarketing, liên kết web

Trong Excel, chúng ta thường tạo các mã vạch dạng Code 39, Code 128, hoặc EAN-13 vì chúng dễ tích hợp và hỗ trợ bởi các font chữ đặc biệt.

2. Chuẩn Bị Môi Trường Làm Việc

2.1 Cài đặt font mã vạch

Để hiển thị mã vạch trong Excel, bạn cần cài đặt các font đặc biệt. Hai font phổ biến nhất:

  • Free 3 of 9 (Code 39)
  • Code 128 (hoặc IDAutomationHC39M)

Cách cài đặt:
1. Tải font từ trang web uy tín (ví dụ: https://www.barcodesinc.com/free-font/).
2. Giải nén file .ttf.
3 Windows: Click chuột phải → Install hoặc Install for all users.
Mac: Double-click file → Install Font trong Font Book.
4. Khởi động lại Excel để font xuất hiện trong danh sách.

2.2 Cài đặt add‑in (tùy chọn)

Nếu bạn muốn tạo mã vạch EAN-13 hoặc UPC mà không muốn tính toán checksum thủ công, có thể sử dụng add‑in như Barcode Add-in for Excel (có phí) hoặc TBarCode Office (phiên bản trial). Tuy nhiên, với hướng dẫn này chúng ta sẽ tập trung vào giải pháp không add‑in, dùng công thức và font.

3. Tạo Mã Vạch Code 39 Trong Excel

3.1 Nguyên tắc Code 39

  • Mỗi ký tự được biểu diễn bằng 9 phần: 5 thanh, 4 khoảng trống.
  • Đầu và cuối mã vạch đều có ký tự “” (asterisk) làm start/stop.
  • Hỗ trợ ký tự: 0-9, A-Z, -, ., space, $, /, +, %.

3.2 Bước thực hiện

Bước 1: Nhập dữ liệu

Giả sử cột A chứa Mã sản phẩm (ví dụ: ABC123).

A (Mã SP)
ABC123
00123
XYZ-99

Bước 2: Thêm ký tự start/stop

Trong cột B, sử dụng công thức:

= "" & A2 & ""

Kéo công thức xuống để áp dụng cho toàn bộ danh sách.

Bước 3: Định dạng font

  • Chọn cột B.
  • Thay đổi font thành Free 3 of 9 (hoặc tên font bạn đã cài).
  • Tăng kích thước font (ví dụ: 48) để mã vạch rõ nét.
  • Đặt Alignment → Center để căn giữa.

Bước 4: Kiểm tra

Sử dụng máy quét mã vạch để quét ô B2. Kết quả sẽ trả về giá trị ABC123. Nếu không, kiểm tra lại việc cài đặt font và công thức.

3.3 Tự động tạo mã vạch cho hàng loạt

Nếu dữ liệu được nhập liên tục, bạn có thể tạo Table trong Excel (Ctrl+T) để tự động mở rộng công thức. Khi thêm dòng mới, cột B sẽ tự động tính toán ký tự start/stop và hiển thị mã vạch.

4. Tạo Mã Vạch Code 128 (Mật Độ Cao)

4.1 Giới thiệu Code 128

Code 128 cho phép mã hoá toàn bộ ký tự ASCII (0‑127) và có mật độ cao hơn Code 39, phù hợp cho nhãn có không gian hạn chế.

4.2 Cài đặt font Code 128

  • IDAutomationHC128 (phiên bản trial) hoặc Code128 (miễn phí).
  • Khi cài đặt, font này thường đi kèm với một macro hoặc hàm VBA để tính checksum.

4.3 Sử dụng hàm VBA để tạo Code 128

Nếu không muốn mua add‑in, bạn có thể tự viết hàm VBA để chuyển chuỗi thành mã Code 128.

Bước 1: Mở cửa sổ VBA

  • Nhấn Alt + F11.
  • Chọn Insert → Module.

Bước 2: Dán mã VBA sau:

Function Code128(s As String) As String Dim i As Long, chk As Long, encoded As String Dim charset As Variant charset = Array( _ " ", "!", """", "#", "$", "%", "&", "'", "(", ")", "", "+", ",", "-", ".", "/", _ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", _ "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", _ "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "", "\", "", "^", "_" ) ' Start Code B = 104 encoded = Chr(204) ' Start B trong font Code128 (có thể khác tùy font) chk = 104 For i = 1 To Len(s) Dim ch As String, idx As Long ch = Mid(s, i, 1) idx = Application.Match(ch, charset, 0) - 1 ' 0‑94 encoded = encoded & Chr(32 + idx) chk = chk + idx i Next i chk = chk Mod 103 encoded = encoded & Chr(32 + chk) ' Checksum encoded = encoded & Chr(206) ' Stop Code128 = encoded
End Function

Lưu ý: Các ký tự Chr(204), Chr(206) phụ thuộc vào font bạn dùng. Đối với font IDAutomationHC128, start B là Chr(204) và stop là Chr(206). Kiểm tra tài liệu font để chắc chắn.

Bước 3: Áp dụng hàm trong Excel

Giả sử cột A chứa dữ liệu, trong cột B nhập:

=Code128(A2)

Sau khi tính toán, chọn cột B → đổi font thành IDAutomationHC128 → tăng kích thước để hiển thị.

Bước 4: Kiểm tra

Quét mã vạch ở cột B, kết quả trả về phải đúng với nội dung trong A2. Nếu không, kiểm tra lại hàm VBA và font.

Tạo Mã Vạch Trong Excel
Tạo Mã Vạch Trong Excel

4.4 Tạo mã vạch EAN‑13 (Thực tế hơn cho bán lẻ)

4.4.1 Công thức tính chữ số kiểm tra (checksum)

EAN‑13 gồm 12 chữ số dữ liệu + 1 chữ số kiểm tra. Công thức:
1. Lấy tổng các chữ số ở vị trí chẵn (2,4,6,8,10,12) → nhân 3.
2. Cộng tổng các chữ số ở vị trí lẻ (1,3,5,7,9,11).
3. Lấy số dư 10 của tổng trên.
4. Checksum = (10 – remainder) mod 10.

4.4.2 Thực hiện trong Excel

Giả sử cột A chứa 12 chữ số (chuỗi).

Bước 1: Đảm bảo dữ liệu là chuỗi, không phải số dạng khoa học:

=TEXT(A2,"000000000000")

Lưu vào cột B.

Bước 2: Tính checksum với công thức:

=MOD(10 - MOD( SUMPRODUCT(MID(B2, {2,4,6,8,10,12}, 1) 3) + SUMPRODUCT(MID(B2, {1,3,5,7,9,11}, 1) 1)
,10),10)

Kết quả đặt vào cột C.

Bước 3: Ghép lại thành 13 chữ số:

= B2 & C2

Đặt vào cột D.

Bước 4: Định dạng font
– Chọn cột D.
– Đổi font thành EAN-13 (có thể tải font “Libre Barcode 128 Text” hoặc “Free 3 of 9” nếu không có font EAN‑13 riêng). Một số font EAN‑13 dùng ký tự làm start/stop, do đó công thức sẽ là:

= "" & D2 & ""

Sau đó đổi font và tăng kích thước.

Bước 5: Kiểm tra
Quét mã vạch trong cột D, hệ thống sẽ trả về 13 chữ số đầy đủ.

5. Tự Động Hóa Quá Trình Với Macro

Khi số lượng sản phẩm lên tới hàng nghìn, việc nhập công thức từng cột sẽ tốn thời gian. Dưới đây là một macro đơn giản để tạo mã vạch Code 39 cho toàn bộ cột A và ghi kết quả vào cột B.

Sub TaoMaVachCode39() Dim ws As Worksheet Set ws = ActiveSheet Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Dim i As Long For i = 2 To lastRow ' Giả sử dòng 1 là tiêu đề ws.Cells(i, "B").Value = "" & ws.Cells(i, "A").Value & "" Next i ws.Columns("B").Font.Name = "Free 3 of 9" ws.Columns("B").Font.Size = 48 ws.Columns("B").HorizontalAlignment = xlCenter
End Sub

Hướng dẫn chạy macro

  1. Nhấn Alt + F11 → Insert → Module → dán code.
  2. Đóng VBA, quay lại Excel.
  3. Nhấn Alt + F8, chọn TaoMaVachCode39, nhấn Run.
  4. Kết quả sẽ hiện ngay trong cột B.

Bạn có thể tùy biến macro cho Code 128 hoặc EAN‑13 bằng cách gọi hàm Code128 đã tạo ở trên.

6. In Mã Vạch – Những Điều Cần Lưu Ý

6.1 Độ phân giải và kích thước

  • Kích thước tối thiểu: Đối với Code 39, chiều cao 0.5 inch (~12.7mm) là đủ để máy quét đọc. Đối với Code 128, chiều cao 0.25 inch (~6.35mm) cũng chấp nhận được.
  • Độ phân giải: Khi in qua máy in laser hoặc nhiệt, đặt độ phân giải ≥ 300 DPI để tránh mờ.

6.2 Khoảng cách an toàn (quiet zone)

Mã vạch cần có khoảng trống trắng ít nhất 10% chiều rộng tổng mã vạch ở hai đầu. Khi in trong Excel, bạn có thể thêm cột trắng hoặc đặt lề ô.

6.3 Kiểm tra trước khi in

  • Print Preview: Kiểm tra bố cục.
  • Test Scan: In mẫu 5-10 mã, sau đó quét để chắc chắn mọi mã đều đọc được.

7. Ứng Dụng Thực Tế

7.1 Quản lý kho

  • Ghi mã vạch vào danh sách Excel.
  • Khi nhập xuất, quét mã để tự động cập nhật số lượng.

7.2 Nhãn giá bán lẻ

  • Tạo file Excel chứa tên sản phẩm, giá, mã vạch.
  • Dùng mail merge (Word) hoặc add‑in in nhãn để in hàng loạt.

7.3 Theo dõi công việc

  • Mã vạch cho tài liệu, hồ sơ, thiết bị.
  • Quét để kiểm tra vị trí, trạng thái.

8. Những Lỗi Thường Gặp Và Cách Khắc Phục

LỗiNguyên nhânGiải pháp
Mã vạch không đọc đượcFont chưa được áp dụngĐảm bảo ô đang dùng font mã vạch, không phải Arial
Quét trả về ký tự “ABC123”Quên thêm ký tự start/stopĐối với Code 39, luôn bao quanh bằng
Kiểm tra checksum sai (EAN‑13)Công thức không tính đúng vị trí chẵn/lẻKiểm tra lại dãy vị trí trong SUMPRODUCT
Macro không chạyBảo mật macro bị tắtVào File → Options → Trust Center → Trust Center Settings → Macro Settings → Chọn “Enable all macros” (cẩn thận)
Font hiển thị lỗi trên máy khácFont chưa được cài đặt trên máyCài đặt font trên tất cả máy dùng chung file

9. Tối Ưu Hoá và Mở Rộng

9.1 Sử dụng Power Query

Nếu dữ liệu mã vạch được lấy từ hệ thống ERP, bạn có thể dùng Power Query để tự động import, tạo cột mã vạch và cập nhật.

9.2 Kết nối với Power BI

Sau khi tạo mã vạch trong Excel, có thể import file vào Power BI để trực quan hoá kho hàng, bán hàng, và sử dụng QR Code để liên kết tới trang web sản phẩm.

9.3 Tự động gửi email kèm mã vạch

Với VBA, bạn có thể tạo macro gửi email (Outlook) kèm file PDF chứa mã vạch cho từng khách hàng.

Sub GuiMailMaVach() Dim OutApp As Object, OutMail As Object Dim rng As Range, bodyText As String Set OutApp = CreateObject("Outlook.Application") For Each rng In Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row) Set OutMail = OutApp.CreateItem(0) bodyText = "Kính gửi " & rng.Offset(0, 1).Value & vbCrLf & _ "Mã vạch sản phẩm: " & rng.Offset(0, 2).Value With OutMail .To = rng.Offset(0, 3).Value ' email ở cột D .Subject = "Mã vạch sản phẩm " & rng.Value .Body = bodyText .Display ' hoặc .Send để gửi trực tiếp End With Next rng
End Sub

10. Kết Luận

Việc tạo mã vạch trong Excel không còn là công việc phức tạp hay đòi hỏi phần mềm đắt tiền. Với một vài bước cài đặt font, công thức đơn giản, hoặc một đoạn VBA ngắn, bạn đã có thể:

  • Tự động sinh mã vạch Code 39, Code 128, hoặc EAN‑13.
  • Kiểm tra và tính toán checksum một cách chính xác.
  • In và sử dụng mã vạch trong các quy trình quản lý kho, bán lẻ, và logistics.
  • Mở rộng chức năng bằng macro, Power Query, và Power BI để tạo ra một hệ thống quản lý dữ liệu hoàn chỉnh.

Hãy bắt đầu ngay hôm nay: tải font, áp dụng công thức, và biến Excel thành công cụ mạnh mẽ để tạo và quản lý mã vạch cho doanh nghiệp của bạn. Chỉ cần một chút kiên nhẫn và thực hành, bạn sẽ nhanh chóng nắm vững kỹ năng này và nâng cao hiệu suất công việc. Chúc bạn thành công!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận