Excel中长数字的快速转换
IT商界
熟悉Excel 2000/2002的用户都知道,当输入的数字超过11位后,Excel会智能地将它转换成指数形式的科学计数法,有的时候(如在输入身份证号码、手机号码时)并不需要这一自动转换功能,只要在输入数字时在前面加上一个单撇号“'”,这样就可以输入任意长的数字了。
但是,如果在已有的Excel文档(或是用一些档案管理系统生成的Excel文档)中存在上千条用指数形式的科学计数法表示的记录(这种记录以身份证号码居多),难道我们不厌其烦地在一条一条的记录前面加单撇号“'”吗?是不是有其他更好的办法呢?利用Excel中提供的VBA(Visual Basic for Application)编程功能,我们可以很容易地解决这个问题。
1.在Excel 2000/2002中输入Visual Basic程序。打开Excel 2000/2002,选择“工具→宏→Visual Basic编辑器”选项,进入Visual Basic编辑器,输入如下的代码(图1):
Sub CorrectionDigital()
Dim i, j As Integer
Dim Row, Col As Integer
Row = Selection.Rows.Count '选中的行数
Col = Selection.Columns.Count '选中的列数
For i = 1 To Col
For j = 1 To Row
ActiveCell.Formula = "'" + ActiveCell.Formula '转换一个单元格
ActiveCell.Offset(1, 0).Select '单元格下移一个位置
Next j
ActiveCell.Offset(-Row, 1).Select '本列已经转换完成,转到下一列
Next i
ActiveCell.Offset(0, -Col).Select '回到起始位置
End Sub
2.在工具栏添加自定义按钮。关闭Visual Basic编辑器,回到Excel,选择“工具→自定义”命令,单击自定义对话框的“命令”选项,选择“宏”,将“自定义按钮”拖到Excel的工具栏,如图2所示。
3.编辑自定义按钮。选中自定义按钮,单击鼠标右键,在弹出菜单的“命名”栏中输入“长数字转换(&C)”,并将“图标与文字”选中。当然,还可以更改按钮的显示图标。指定宏,执行“指定宏”命令,在弹出的“指定宏”对话框,选中Sheet1.CorrectionDigital后点“确定”,返回Excel。
4.转换数字。选中要转换的数字的单元格,点击刚刚添加到工具栏上的“长数字转换”按钮,就可完成数字的转换了(图3)。如果是第一次使用宏,Excel会弹出询问是否启用宏的对话框(因为宏可能会携带病毒),我们点击启用宏(图4)。
小结:实际上,Microsoft Office中提供了功能强大的VBA编程,如果我们充分利用好这一功能,将会大大地提高我们的工作效率,有兴趣的朋友不妨试试。



