Có thể bạn quan tâm: Giãn Khoảng Cách Chữ Trong Excel 2026: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Giới thiệu chung về mã vạch Code 39
Code 39, còn được gọi là Code 3 of 9, là một trong những chuẩn mã vạch cổ điển và phổ biến nhất trên thế giới. Được phát triển vào những năm 1970, Code 39 hỗ trợ việc mã hoá các ký tự A‑Z, 0‑9, và một số ký tự đặc biệt như -, ., SPACE, $, /, +, %. Đặc điểm nổi bật của Code 39 là:
- Độ rộng ký tự cố định: Mỗi ký tự được biểu diễn bằng 9 phần tử (5 thanh đen và 4 khoảng trắng), trong đó có 3 thanh đen rộng hơn (gọi là “wide”) và 6 thanh mỏng (gọi là “narrow”).
- Không cần kiểm tra lỗi (checksum) trong hầu hết các trường hợp, tuy nhiên có thể thêm ký tự kiểm tra nếu muốn độ tin cậy cao hơn.
- Dễ đọc và in ấn: Vì cấu trúc đơn giản, Code 39 thường được sử dụng trong các môi trường công nghiệp, kho bãi, y tế, và quản lý tài sản.
Trong môi trường doanh nghiệp, Excel là công cụ tính toán và quản lý dữ liệu mạnh mẽ, nhưng nó không có chức năng tạo mã vạch mặc định. Vì vậy, cài đặt font Code 39 cho Excel là một giải pháp nhanh gọn, tiết kiệm chi phí, cho phép người dùng chuyển đổi dữ liệu trong ô thành mã vạch chỉ trong vài cú nhấp chuột.
Bài viết dưới đây sẽ cung cấp hướng dẫn chi tiết từ việc tải và cài đặt font Code 39, cách cấu hình Excel để sử dụng, tới các thủ thuật nâng cao như tạo mã vạch tự động, in hàng loạt, và một số lưu ý pháp lý.
Có thể bạn quan tâm: Cách Xây Dựng Và Duy Trì Định Dạng Bảng Rõ Ràng Trong Excel: Hướng Dẫn Chi Tiết Cho Người Dùng Mọi Trình Độ
1. Tìm và tải font Code 39 miễn phí, bản quyền an toàn
1.1. Các nguồn tải font uy tín
| Nguồn | Đường link (ví dụ) | Ghi chú |
|---|---|---|
| DaFont | https://www.dafont.com/code-39.font | Font miễn phí, đa nền tảng, thường được cập nhật. |
| FontSpace | https://www.fontspace.com/code-39-font-f10864 | Cung cấp file .ttf và .otf, mô tả chi tiết cách sử dụng. |
| GitHub | https://github.com/LibreBarcode/LibreBarcode39 | Dự án mã nguồn mở, cho phép tùy chỉnh và đóng góp. |
| Barcode Fonts (trang thương mại) | https://www.barcodesinc.com/free-fonts/ | Phiên bản miễn phí cho mục đích phi thương mại, bản trả phí cho doanh nghiệp. |
Lưu ý: Khi tải font từ internet, luôn kiểm tra file bằng phần mềm diệt virus và đọc kỹ giấy phép (license). Đối với doanh nghiệp, nên mua bản quyền thương mại để tránh vi phạm bản quyền.
1.2. Kiểu file và cấu trúc font Code 39
Mặc dù có nhiều định dạng (TTF, OTF, TTC), đối với Windows và Excel, file .ttf (TrueType Font) là đủ. Khi mở file font, bạn sẽ thấy:
- Tên hiển thị: “Code 39” hoặc “Free 3 of 9”.
- Tên PostScript: thường là “Code39”.
- Glyphs: mỗi ký tự A‑Z, 0‑9, và các ký tự đặc biệt có một glyph tương ứng, ví dụ ký tự
(dấu sao) được dùng làm ký tự start/stop trong Code 39.
Có thể bạn quan tâm: Cách Xóa Các Dòng Trống Trong Excel Một Cách Hiệu Quả Và Nhanh Chóng
2. Cài đặt font Code 39 trên máy tính Windows
2.1. Cài đặt cho người dùng hiện tại
- Tải file .ttf về máy (ví dụ
Free3of9.ttf). - Mở thư mục chứa file → Nhấp phải → Install.
- Hoặc kéo thả file vào thư mục
C:\Windows\Fonts. - Windows sẽ tự động sao chép và đăng ký font. Khi quá trình hoàn tất, một thông báo “Font installed successfully” sẽ xuất hiện.
2.2. Cài đặt cho tất cả người dùng (yêu cầu admin)
- Mở File Explorer, truy cập
C:\Windows\Fonts. - Kéo thả file
.ttfvào thư mục này. - Nếu được hỏi quyền truy cập, chọn Yes để cho phép admin cài đặt.
- Khởi động lại các ứng dụng (Excel, Word…) để font hiển thị.
2.3. Xác nhận font đã được cài đặt
- Mở Control Panel → Appearance and Personalization → Fonts.
- Tìm “Code 39” trong danh sách.
- Nhấp đúp để xem mẫu glyph, xác nhận ký tự
và các ký tự A‑Z hiện ra.
3. Cách sử dụng font Code 39 trong Excel
3.1. Đặt font cho ô dữ liệu
Giả sử cột A chứa mã sản phẩm (chuỗi ký tự alphanumeric). Để hiển thị dưới dạng mã vạch:
- Nhập dữ liệu vào ô A2, A3, … (ví dụ:
ABC123). - Thêm ký tự start/stop
vào trước và sau dữ liệu. Có 2 cách: - Công thức:
="" & A2 & ""→ đặt kết quả vào ô B2. - Vận dụng hàm CONCATENATE:
=CONCATENATE("",A2,""). - Chọn ô B2, vào Home → Font → Font Family, chọn “Code 39”.
- Tăng kích thước font (ví dụ 48 pt) để mã vạch đủ rõ khi in.
Kết quả: Ô B2 hiển thị một dải thanh mã vạch tương ứng với ABC123.
3.2. Tự động áp dụng font và công thức cho toàn cột
Để tránh lặp lại công thức cho từng ô:
- Nhập công thức trong B2 như trên.
- Kéo công thức xuống hết danh sách (double‑click góc dưới‑phải của ô).
- Chọn toàn cột B, đặt font “Code 39” và kích thước mong muốn.
3.3. Thêm ký tự kiểm tra (checksum) tùy chọn
Mặc dù Code 39 không bắt buộc checksum, một số doanh nghiệp muốn tăng độ chính xác. Kiểu checksum phổ biến là Modulo‑43. Để tính và thêm checksum trong Excel:
=CHAR(42) & A2 & CHAR(42) & CHAR(MATCH(MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}),43),{"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","-","."," ","$","/","+","%"},0))
- Công thức trên phức tạp; trong thực tế, người dùng thường sử dụng macro VBA để tính checksum nhanh hơn (phần VBA sẽ được trình bày trong mục 5).
4. In ấn và xuất file PDF với mã vạch Code 39
4.1. Cài đặt kích thước và khoảng cách
- Kích thước font quyết định độ rộng của mỗi thanh. Đối với nhãn 2 x 1 inch, thường dùng font 36‑48 pt.
- Khoảng cách giữa các mã vạch (spacing) nên đủ để máy quét nhận dạng, thường 0.5 mm. Bạn có thể tạo cột trống hoặc sử dụng Column Width để điều chỉnh.
4.2. In trực tiếp từ Excel

Có thể bạn quan tâm: Hướng Dẫn Chi Tiết Tạo Mã Vạch Code 128 Trong Excel – Từ Cơ Bản Đến Nâng Cao
- Chọn vùng in (ví dụ: cột B chứa mã vạch).
- File → Print → Print Area → Set Print Area.
- Page Layout → Size → chọn kích thước giấy (A4, Letter, hoặc tùy chỉnh).
- Print → kiểm tra bản in mẫu trên giấy nhãn.
4.3. Xuất ra PDF để chia sẻ hoặc in từ phần mềm khác
- File → Save As → chọn PDF.
- Đảm bảo Options → Publish what → Selection (nếu chỉ muốn xuất mã vạch).
- Lưu và mở PDF để kiểm tra độ nét. Đối với máy in nhãn, PDF thường cho độ phân giải cao hơn so với in trực tiếp từ Excel.
5. Tự động hoá quy trình tạo mã vạch bằng VBA
5.1. Lý do dùng VBA
- Tiết kiệm thời gian: Tự động thêm ký tự
và áp dụng font. - Tính checksum: Thêm đoạn mã kiểm tra cho mỗi dòng.
- Tạo báo cáo: Xuất file PDF tự động cho từng nhóm sản phẩm.
5.2. Mẫu macro tạo mã vạch cơ bản
Sub GenerateCode39() Dim ws As Worksheet Dim lastRow As Long, i As Long Dim srcCol As String, destCol As String Set ws = ThisWorkbook.Sheets("Sheet1") srcCol = "A" ' Cột chứa dữ liệu gốc destCol = "B" ' Cột sẽ hiển thị mã vạch lastRow = ws.Cells(ws.Rows.Count, srcCol).End(xlUp).Row For i = 2 To lastRow ws.Range(destCol & i).Value = "" & ws.Range(srcCol & i).Value & "" ws.Range(destCol & i).Font.Name = "Code 39" ws.Range(destCol & i).Font.Size = 48 Next i MsgBox "Đã tạo mã vạch cho " & (lastRow - 1) & " dòng.", vbInformation
End Sub
- Cách sử dụng: Mở Alt+F11, chèn Module, dán code, đóng VBA editor, chạy macro từ Developer → Macros.
5.3. Macro có tính checksum Modulo‑43
Function Code39Checksum(strVal As String) As String Dim charset As String Dim i As Long, total As Long, idx As Long charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%" total = 0 For i = 1 To Len(strVal) idx = InStr(1, charset, Mid(strVal, i, 1), vbBinaryCompare) - 1 total = total + idx Next i Code39Checksum = Mid(charset, (total Mod 43) + 1, 1)
End Function Sub GenerateCode39WithChecksum() Dim ws As Worksheet, lastRow As Long, i As Long Set ws = ThisWorkbook.Sheets("Sheet1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow Dim raw As String, chk As String raw = ws.Cells(i, "A").Value chk = Code39Checksum(raw) ws.Cells(i, "B").Value = "" & raw & chk & "" ws.Cells(i, "B").Font.Name = "Code 39" ws.Cells(i, "B").Font.Size = 48 Next i MsgBox "Mã vạch có checksum đã tạo xong!", vbInformation
End Sub
- Macro này sẽ tự động tính ký tự checksum và chèn vào giữa dữ liệu và dấu
. - Khi in, máy quét sẽ đọc cả checksum, giúp giảm lỗi quét.
5.4. Xuất PDF tự động cho từng nhóm
Sub ExportBarcodesPDF() Dim ws As Worksheet, rng As Range, pdfPath As String Set ws = ThisWorkbook.Sheets("Sheet1") ' Giả sử cột B chứa mã vạch Set rng = ws.Range("B1:B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row) pdfPath = ThisWorkbook.Path & "\Barcodes_" & Format(Now, "yyyymmdd_hhmmss") & ".pdf" rng.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
- Macro này sẽ xuất toàn bộ cột mã vạch thành một file PDF duy nhất, thuận tiện cho việc in nhãn hàng loạt.
6. Các lưu ý khi sử dụng Code 39 Font trong môi trường doanh nghiệp
6.1. Độ chính xác và khả năng quét
- Độ tương phản: Font Code 39 tạo thanh đen trên nền trắng. Khi in trên giấy màu hoặc giấy nhãn nhám, đảm bảo độ tương phản tối thiểu 3:1.
- Kích thước tối thiểu: Đối với hầu hết máy quét, X‑dimension (độ rộng thanh mỏng) không nên nhỏ hơn 0.19 mm. Thông thường, font 30‑40 pt trên giấy A4 đáp ứng yêu cầu này.
- Khoảng cách giữa mã vạch: Đảm bảo ít nhất 0.5 mm (có thể điều chỉnh bằng cột trống).
6.2. Pháp lý và bản quyền font
- Font miễn phí: Thông thường cho phép sử dụng trong dự án phi thương mại. Nếu doanh nghiệp dùng cho sản phẩm thương mại hoặc in ấn quy mô lớn, nên mua giấy phép thương mại.
- Kiểm tra licence: Trên trang tải thường có mục “Free for personal use only” hoặc “Commercial license required”. Lưu trữ bằng chứng mua bản quyền để tránh tranh chấp.
6.3. Khi chuyển file Excel sang người khác
- Nếu người nhận không có font Code 39 được cài đặt, mã vạch sẽ hiển thị dưới dạng ký tự lạ. Để tránh, có thể:
- Nhúng font trong file PDF (các tùy chọn ExportAsFixedFormat cho phép nhúng).
- Gửi file font kèm và hướng dẫn cài đặt.
- Sử dụng Add‑in hoặc macro để tự động cài đặt font khi mở workbook (cần quyền admin).
6.4. So sánh với giải pháp phần mềm tạo mã vạch chuyên nghiệp
| Tiêu chí | Font Code 39 trong Excel | Phần mềm tạo mã vạch (BarTender, NiceLabel, …) |
|---|---|---|
| Chi phí | Miễn phí hoặc chi phí bản quyền font | Thường có phí bản quyền phần mềm (từ vài trăm đến hàng ngàn USD) |
| Độ linh hoạt | Thích hợp cho dữ liệu đơn giản, ít tùy chỉnh | Hỗ trợ đa chuẩn, thiết kế nhãn phức tạp, barcode image export |
| Tích hợp ERP | Cần viết macro hoặc công thức | Có API, kết nối trực tiếp với cơ sở dữ liệu |
| Quản lý bản in | Thủ công (copy‑paste, in Excel) | Tự động batch, kiểm soát lịch in, in ấn đa máy |
| Độ tin cậy | Phụ thuộc vào người dùng cài font đúng | Được kiểm chứng, hỗ trợ checksum, validation |
- Đối với doanh nghiệp nhỏ hoặc dự án tạm thời, font Code 39 trong Excel là lựa chọn hợp lý. Khi quy mô tăng lên, nên cân nhắc chuyển sang phần mềm chuyên dụng.
7. Các trường hợp sử dụng thực tiễn
7.1. Quản lý kho vật tư
- Mỗi vật tư có mã SKU (ví dụ
MAT-00123). - Bước 1: Nhập SKU vào cột A.
- Bước 2: Sử dụng macro
GenerateCode39để tạo mã vạch trong cột B. - Bước 3: In danh sách SKU kèm mã vạch trên giấy nhãn 50 × 30 mm.
- Kết quả: Khi quét, hệ thống ERP tự động nhận diện SKU, cập nhật số lượng.
7.2. Nhãn bệnh viện cho mẫu xét nghiệm
- Mã bệnh nhân (8 ký tự) + mã mẫu (3 ký tự).
- Sử dụng checksum Modulo‑43 để giảm lỗi quét.
- Nhãn được in trực tiếp từ Excel và dán vào ống xét nghiệm.
- Nhân viên y tế chỉ cần quét mã vạch để truy xuất hồ sơ bệnh nhân.
7.3. Đánh dấu tài sản cố định
- Mỗi tài sản có mã tài sản (ví dụ
ASSET-2023001). - Tạo mã vạch và dán vào thẻ tài sản.
- Khi kiểm kê, nhân viên sử dụng máy quét cầm tay để cập nhật trạng thái tài sản trong Excel.
8. Tổng kết
Việc cài đặt và sử dụng font Code 39 trong Excel là một giải pháp nhanh, chi phí thấp và đủ mạnh mẽ để đáp ứng hầu hết các nhu cầu tạo mã vạch trong doanh nghiệp vừa và nhỏ. Bằng cách:
- Tải font từ nguồn uy tín, cài đặt đúng cách.
- Thêm ký tự start/stop (
) và (nếu cần) checksum thông qua công thức hoặc macro VBA. - Áp dụng font Code 39 và điều chỉnh kích thước, khoảng cách để đạt độ tin cậy cao khi quét.
- In ấn hoặc xuất PDF để tạo nhãn, tài liệu, báo cáo.
Bạn có thể tự động hoá quy trình, giảm thiểu lỗi nhập liệu và tăng năng suất làm việc. Đồng thời, luôn lưu ý đến bản quyền font và độ tương phản khi in để tránh các vấn đề pháp lý và kỹ thuật.
Nếu doanh nghiệp của bạn đang mở rộng quy mô, cân nhắc đầu tư vào phần mềm tạo mã vạch chuyên nghiệp để tích hợp sâu hơn với ERP, CRM và hệ thống quản lý kho. Tuy nhiên, font Code 39 trong Excel vẫn là một công cụ “đắc lực” không thể thiếu cho những dự án nhanh, linh hoạt và chi phí tối ưu.
Hãy bắt đầu ngay hôm nay: tải font Code 39, áp dụng các công thức hoặc macro trên, và thử in một vài mẫu nhãn. Khi thấy kết quả ổn định, bạn sẽ nhận ra sức mạnh của việc biến một bảng tính Excel thành một “máy in mã vạch” mini, phục vụ mọi nhu cầu quản lý dữ liệu của doanh nghiệp.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
