Khi bạn nhập Mã ZIP từ tệp văn bản vào sổ làm việc Excel, không có gì lạ khi Excel dịch các giá trị dưới dạng số thay vì Mã ZIP. Điều này dẫn đến việc các số 0 đứng đầu bị loại bỏ khỏi Mã ZIP, điều này rõ ràng có thể gây ra sự cố sau này khi sử dụng dữ liệu cho mục đích dự định của nó.

Tất nhiên, một giải pháp là chỉ cần thay đổi định dạng hiển thị được sử dụng cho các ô Mã ZIP. Điều này có thể hiệu quả với màn hình, nhưng dữ liệu cơ bản vẫn thiếu các số 0 ở đầu. Giải pháp tốt hơn là sử dụng macro đi qua và thêm các số 0 ở đầu vào thông tin trong ô.

Macro sau thực hiện điều đó:

Sub MakeZIPText()

Dim ThisCell As Range     Application.ScreenUpdating = False     'Make sure format is text     Selection.NumberFormat = "@"

For Each ThisCell In Selection         'Strip the leading apostrophe, if any         If Left(ThisCell, 1) = "'" Then             ThisCell = Mid(ThisCell, 2, 99)

End If         'It's a 5-digit ZIP Code         If Len(ThisCell) <= 5 Then             ThisCell = "'" & Right("00000" & ThisCell, 5)

Else             ThisCell = "'" & Right("00000" & ThisCell, 10)

End If     Next ThisCell     Application.ScreenUpdating = True End Sub

Để sử dụng macro, chỉ cần chọn phạm vi ô chứa Mã ZIP, sau đó chạy macro. Macro thực sự thay đổi nội dung ô — các ô sẽ không còn chứa các giá trị số (nguyên nhân của sự cố ban đầu), nhưng chúng sẽ chứa các giá trị văn bản. Điều này cho phép các số 0 đứng đầu xuất hiện ở đầu Mã ZIP.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (2598) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: