在邮政编码中添加前导零(Microsoft Excel)
当您将文本文件中的邮政编码导入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培训的来源。
本技巧(9663)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本:
链接:/ excel-Adding_Leading_Zeroes_to_ZIP_Codes [在邮政编码中添加前导零)。