引子:學好并熟練運用Excel函數將能發揮出Excel無盡的威力。然而,Excel有幾百個函數,要想將它們全都熟練掌握是一件非常困難的事。并且,函數之間的相互配合,變化多端,有著多種多樣的使用情形。如果我們隨時能夠查閱到各個函數詳細的語法和使用說明,并且有豐富的示例作為參考,那一定非常有助于我們解決問題,也有利于我們函數運用水平的精進。
今天給出的這個工具——Excel函數寶典,就是想要將Excel函數集中在一起,不僅有詳細的語法和使用說明,還有豐富的參考示例,便于學習,便于查閱參考。
由于時間有限,整理全部的Excel函數語法以及應用示例并不是三兩天就能完成的。因此,這里先給出工具的架構,以及功能演示,聽聽大家的意見,我再進行完善。
“Excel函數寶典”的功能
“Excel函數寶典”實際上就是Excel函數庫,力圖匯集所有的Excel函數,甚至有用的自定義函數。主要功能有:
l查找想要的函數并給出該函數的詳細語法和使用說明。
2輸入函數名后查找
2在分類框中選擇想要的函數后查找
l方便獲取每個函數的應用示例,作為參考。
“Excel函數寶典”的使用
可以在工作表界面中輸入想要查找的函數,也可以在彈出的用戶窗體中輸入想要查找的函數,單擊“查找”按鈕查找到該函數的詳細語法和使用說明。
找到函數后,單擊“詳細示例”按鈕,調出包含關于該函數詳細信息以及應用示例的工作簿文檔。
下面的視頻演示了如何使用“Excel函數寶典”。
“Excel函數寶典“的設計
工作表設計
下圖1所示為工作表主界面,在命名為“SearchFuncName”的單元格中輸入函數名,單擊右側的“查找”按鈕,即可調出相關函數信息。
圖1
“函數庫”工作表存放全部函數的基本信息,包括函數名、類別、版本、作用、語法、參數說明。包含著函數名的區域:
名稱:FuncName = OFFSET(函數庫!$A$3,0,0,COUNTA(函數庫!$A:$A)-2,1)
“數據”工作表存放程序后臺需要的數據,包含著一些命名區域。
函數類別名:Cate
引用位置:=OFFSET(數據!$A$2,0,0,COUNTA(數據!$A:$A)-1,1)
各分類的名稱所代表的區域:
名稱:查找與引用
引用位置:=OFFSET(數據!$D4,0,0,COUNTA(數據!$D:$D)-1,1)
名稱:文本
引用位置:=OFFSET(數據!$E$2,0,0,COUNTA(數據!$E:$E)-1,1)
……
用戶窗體設計
在VBE中,插入用戶窗體,放置相應的控件,設置控件格式并命名,如圖2所示。
圖2
函數工作簿
函數工作簿包括函數的詳細信息及應用示例,如圖3所示。
圖3
編寫代碼
工作表代碼
在“主界面”工作表的Activate事件中,輸入下面的代碼:
Private Sub
Worksheet_Activate()
[SearchFuncName] = "在這里輸入你要查找的函數名"
[SearchFuncName].Select
End Sub
每次激活該工作表時,代碼在命名為“SearchFuncName”的單元格中輸入提示信息,并選擇該單元格。
Sub wsFindButtonClick()
ufmFunc.Show
End Sub
單擊工作表中的“查找”按鈕時,調出用戶窗體。
用戶窗體代碼
用戶窗體初始化代碼:
Private Sub
UserForm_Initialize()
'在類別組合框中輸入類別項
cmbCate.List =Application.Transpose([Cate])
'查找名稱SearchFuncName單元格中函數的信息
FindData (Trim([SearchFuncName]))
End Sub
“函數類別”組合框代碼:
當“函數類別”組合框中的內容改變量,用相應的函數名填充“函數名稱”組合框,同時清除函數信息文本框中的內容。
單擊“查找”按鈕的代碼:
Private Sub
cmdFindByName_Click()
[SearchFuncName] = txtFind.Text
FindData (txtFind.Text)
End Sub
單擊“通過類別查找”按鈕的代碼:
Private Sub
cmdFindByCate_Click()
txtFind.Text = ""
[SearchFuncName] = cmbFunc.Text
FindData (cmbFunc.Text)
End Sub
查找數據代碼:
根據傳遞給子過程的值,在“函數庫”工作表中查找到相應的函數,并將函數信息輸入到用戶窗體上相應的文本框中。
下面的子過程用于清除文本框中的數據:
Sub ClearData()
txtName.Text = ""
txtCate.Text = ""
txtVer.Text = ""
txtUse.Text = ""
txtSyntax.Text = ""
txtPara.Text = ""
End Sub
“詳細示例”按鈕代碼:
Private Sub cmdSample_Click()
OpenFunctionWB (cmbFunc.Text)
Unload Me
End Sub
打開與函數名相同的函數工作簿,同時卸載用戶窗體。
“關閉”按鈕代碼:
Private Sub cmdClose_Click()
Unload Me
End Sub
其他代碼
OpenFunctionWB過程用于打開指定的工作簿:
bIsBookOpen函數用于判斷工作簿是否已打開:
結語
這個應用程序界面設計和架構的搭建基本完成,主要需要完善的是:
l收集整理并補充Excel函數的應用示例。(首先是以從Contextures Blog整理出的《帶你快速學會30個Excel函數》為基礎,將這30個函數工作簿整理完善)
在此其礎上:
l美化界面并擴展功能。
希望有興趣的朋友能夠多提寶貴建議!
本文同時發表于【完美 Excel】微信公眾號:excelperfect
要下載Excel函數寶典(測試版)在【完美Excel】公眾號底部發送消息:excelperfect