大家知道,我們在編輯Excel工作表時,除了可以用其內置的函數處理表中的數據外,還可以根據自己的實際需要,自定義函數來處理表中的數據。
如圖1所示是一個學生基本情況登記表,學號的編制原則是:前4位是年份,第5位是初、高中代碼(1是初中,2是高中),第6位是年級代碼(1分別代表初、高一等),第7、8位是班級代碼,后面是序號。下面,我們以一個具體的實例,自定義一個函數,根據學號來自動填寫班級名稱(即圖中的D列內容)。
1.啟動Excel 2003(其它版本請仿照操作),打開相應的工作表。
2.執行“工具→宏→Visual Basic編輯器”命令(或者直接按“Alt+F11”組合鍵),進入Visual Basic編輯狀態(如圖1)。
圖1編輯器
3.執行“插入→模塊”命令,插入一個新模塊。再雙擊插入的模塊,進入模塊代碼編輯狀態。
4.將下列代碼輸入其中:
Function bj(xh)
Select Case Mid(xh, 5, 1)
Case 1
bj = '初' && Mid(xh, 6, 3) && '班'
Case 2
bj = '高' && Mid(xh, 6, 3) && '班'
End Select
End Function
[友情提醒]
①上述代碼中,“bj”是函數命令,“xh”是變量名稱,二者均可以隨意修改。
②自定義函數結構是(如果有多個變量,請用英文狀態下的逗號分隔):
Function函數名稱(變量名稱)
代碼
End Function
③使用下面的代碼,可以達到同樣的效果:
Function bj(xh)
If Mid(xh, 5, 1) = 1 Then
bj = '初' && Mid(xh, 6, 3) && '班'
Else
bj = '高' && Mid(xh, 6, 3) && '班'
End If
End Function
5.代碼輸入完成后,關閉Visual Basic編輯窗口,返回Excel編輯狀態。
6.選中D2單元格,輸入公式:=BJ(A2),再用“填充柄”將上述公式復制到D列下面的單元格區域中,班級名稱即可自動填入相應的單元格中(參見圖2)。
圖2學生登記表