هنگامی که کدهای پستی را از یک فایل متنی به یک کتاب کار اکسل وارد میکنید، غیرمعمول نیست که اکسل مقادیر را بهجای کد پستی به صورت اعداد ترجمه کند. این منجر به حذف صفرهای پیشرو از کدهای پستی میشود، که بدیهی است که بعداً هنگام استفاده از دادهها برای هدف مورد نظر خود مشکلاتی ایجاد میکند.
البته یک راه حل این است که به سادگی فرمت نمایش مورد استفاده برای سلول های کد ZIP را تغییر دهید. (اکسل فرمت خاصی را برای کدهای پستی ارائه می دهد که از طریق تب Number در کادر محاوره ای Format Cells در دسترس است.) این ممکن است برای نمایشگر کار کند، اما داده های زیربنایی هنوز صفرهای ابتدایی را ندارند.
اگر میخواهید دادههای زیربنایی در واقع شامل صفرهای ابتدایی باشند، بهتر است از ماکرویی استفاده کنید که صفرهای ابتدایی را به اطلاعات یک سلول اضافه میکند. ماکرو زیر دقیقاً این کار را انجام می دهد:
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
Its a 5-digit ZIP Code
If Len(ThisCell)
برای استفاده از ماکرو، کافی است محدوده سلول های حاوی کدهای پستی را انتخاب کنید، سپس ماکرو را اجرا کنید. ماکرو در واقع محتویات سلول را تغییر میدهد—دیگر سلولها حاوی مقادیر عددی (علت مشکل اصلی) نیستند، اما حاوی مقادیر متنی خواهند بود. این اجازه می دهد تا صفرهای ابتدایی در ابتدای کدهای پستی ظاهر شوند.