第五章 Excel中長數字的快速轉換
熟悉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):
圖 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.Offset1 0.Select '單元格下移一個位置
Next j
ActiveCell.Offset-Row 1.Select '本列已經轉換完成,轉到下一列
Next i
ActiveCell.Offset0 -Col.Select '回到起始位置
End Sub
2、在工具欄添加自定義按鈕。關閉Visual Basic編輯器,回到Excel,選擇"工具→自定義"命令,單擊自定義對話框的"命令"選項,選擇"宏",將"自定義按鈕"拖到Excel的工具欄,如圖2所示。
圖 2
3、編輯自定義按鈕。選中自定義按鈕,單擊鼠標右鍵,在彈出菜單的"命名"欄中輸入"長數字轉換(&C)",並將"圖標與文字" 選中。當然,還可以更改按鈕的顯示圖標。指定宏,執行"指定宏"命令,在彈出的"指定宏"對話框,選中Sheet1.CorrectionDigital後點"確定",返回Excel。
4、轉換數字。選中要轉換的數字的單元格,點擊剛剛添加到工具欄上的"長數字轉換"按鈕,就可完成數字的轉換了(圖3)。如果是第一次使用宏,Excel會彈出詢問是否啟用宏的對話框(因為宏可能會攜帶病毒),我們點擊啟用宏(圖4)。
圖 3
圖 4
小結:實際上,Microsoft Office中提供了功能強大的VBA編程,如果我們充分利用好這一功能,將會大大地提高我們的工作效率,有興趣的朋友不妨試試。