第五章 Excel中長數字的快速轉換(1 / 1)

第五章 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.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所示。

圖 2

3、編輯自定義按鈕。選中自定義按鈕,單擊鼠標右鍵,在彈出菜單的"命名"欄中輸入"長數字轉換(&C)",並將"圖標與文字" 選中。當然,還可以更改按鈕的顯示圖標。指定宏,執行"指定宏"命令,在彈出的"指定宏"對話框,選中Sheet1.CorrectionDigital後點"確定",返回Excel。

4、轉換數字。選中要轉換的數字的單元格,點擊剛剛添加到工具欄上的"長數字轉換"按鈕,就可完成數字的轉換了(圖3)。如果是第一次使用宏,Excel會彈出詢問是否啟用宏的對話框(因為宏可能會攜帶病毒),我們點擊啟用宏(圖4)。

圖 3

圖 4

小結:實際上,Microsoft Office中提供了功能強大的VBA編程,如果我們充分利用好這一功能,將會大大地提高我們的工作效率,有興趣的朋友不妨試試。