在邮政编码中添加前导零(Microsoft Excel)
当您将文本文件中的邮政编码导入Excel工作簿时,Excel会将值转换为数字而不是邮政编码的情况并不少见。这导致从邮政编码中删除前导零,这显然会在以后将数据用于其预期目的时引起问题。
当然,一种解决方案是简单地更改用于邮政编码单元格的显示格式。这可能适用于显示,但是基础数据仍然缺少前导零。更好的解决方案是使用一个宏,该宏会在单元格中的信息中添加前导零。
下面的宏就是这样做的:
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
要使用宏,只需选择包含邮政编码的单元格范围,然后运行宏。宏实际上会更改单元格的内容-单元格将不再包含数字值(原始问题的原因),而将包含文本值。这允许前导零出现在邮政编码的开头。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2598)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:
链接:/ excelribbon-Adding_Leading_Zeroes_to_ZIP_Codes [在邮政编码中添加前导零)。