實(shí)驗(yàn)對物理的學(xué)習(xí)非常重要。學(xué)生在實(shí)驗(yàn)過程中需要記錄與處理實(shí)驗(yàn)數(shù)據(jù),完成實(shí)驗(yàn)后需要向教師遞交實(shí)驗(yàn)報告。利用Excel的表格、圖表、庫功能,以及窗體按鈕、宏的錄制和VBA程序設(shè)計的方法,可以方便學(xué)生用Excel工作簿檢查和管理實(shí)驗(yàn)數(shù)據(jù)。
一、結(jié)構(gòu)與功能簡介
該工作簿包括“實(shí)驗(yàn)14”和用于保存各組(本案例為20組)學(xué)生實(shí)驗(yàn)數(shù)據(jù)的“原始數(shù)據(jù)庫”兩張工作表。“實(shí)驗(yàn)14”由用于接受學(xué)生輸入實(shí)驗(yàn)數(shù)據(jù)的“實(shí)驗(yàn)數(shù)據(jù)”、自動進(jìn)行數(shù)據(jù)處理的“實(shí)驗(yàn)處理”與“實(shí)驗(yàn)結(jié)果”子區(qū)(如圖所示)以及供學(xué)生輸入分析文本的“分析與研究”子區(qū)等11個子區(qū)(詳見案例文檔*)組成。
二、公式與參數(shù)設(shè)置的前期準(zhǔn)備
為實(shí)現(xiàn)數(shù)據(jù)的自動處理,相應(yīng)單元格中的公式如下:B22(電阻值):=B18/B19(復(fù)制到B22:G22區(qū)域);B23(導(dǎo)線平均長度):=AVERAGE(B16:D16);E23(導(dǎo)線平均直徑):=AVERAGE(B17:D17);F23(電阻平均值):=AVERAGE(B22:G22);B25(電阻率):=PI()*(E23*0.001)^2*G23/(4*B23*0.01)
為保證實(shí)驗(yàn)數(shù)據(jù)顯示合理有效的數(shù)字位數(shù),選中相應(yīng)單元格或區(qū)域,執(zhí)行“格式/單元格/數(shù)字/數(shù)值|日期|科學(xué)記數(shù)”命令,設(shè)置兩位小數(shù)的數(shù)值格式以及“年—月—日”的日期格式。
為便于編程,選中“實(shí)驗(yàn)14”和“原始數(shù)據(jù)庫”工作表的下列區(qū)域或單元格,執(zhí)行“插入/名稱/定義”命令,設(shè)置各單元格與區(qū)域的名稱及對應(yīng)的坐標(biāo)如下:原始數(shù)據(jù)=實(shí)驗(yàn)14!A14:G19;組1=原始數(shù)據(jù)庫!A2:G7……組20=原始數(shù)據(jù)庫!A135:G140;分析1=原始數(shù)據(jù)庫!H2……分析20=原始數(shù)據(jù)庫!H135。
執(zhí)行“格式/單元格/保護(hù)”命令解除“實(shí)驗(yàn)14”工作表的“實(shí)驗(yàn)數(shù)據(jù)”和“分析與研究”兩個子區(qū)中需要輸入數(shù)據(jù)的單元格或區(qū)域的鎖定狀態(tài),其余單元格均保持默認(rèn)的鎖定狀態(tài);再執(zhí)行“工具/保護(hù)/工作表保護(hù)”命令保護(hù)該工作表,并只允許用戶“選定未鎖定的單元格”,從而可以在其中輸入數(shù)據(jù)和分析文本。
三、窗體按鈕對應(yīng)宏的錄制
為簡化VBA程序編制,本案例采用窗體按鈕,各自對應(yīng)基本操作的宏代碼在添加窗體按鈕后彈出的對話框中單擊“錄制新宏”錄制,也可通過執(zhí)行“工具/宏/錄制新宏”命令錄制。典型的操作及自動錄制的對應(yīng)宏代碼如下表。
四、各窗體按鈕模塊中VBA程序(含宏)的編制
包含5個“窗體”按鈕。其中,“數(shù)據(jù)清零與輸入數(shù)據(jù)”按鈕用于引導(dǎo)學(xué)生在“實(shí)驗(yàn)數(shù)據(jù)”區(qū)輸入其“姓名”、“實(shí)驗(yàn)組號”、“班級”、“實(shí)驗(yàn)日期”和實(shí)驗(yàn)數(shù)據(jù);“學(xué)生數(shù)據(jù)入庫保存”按鈕用于保存本實(shí)驗(yàn)報告及含該學(xué)生現(xiàn)有實(shí)驗(yàn)原始數(shù)據(jù)的“原始數(shù)據(jù)庫”;“調(diào)用庫中學(xué)生數(shù)據(jù)”按鈕用于學(xué)生在重做實(shí)驗(yàn)后,通過輸入“姓名”與“實(shí)驗(yàn)組號”,從“原始數(shù)據(jù)庫”中調(diào)出所保存的舊有實(shí)驗(yàn)數(shù)據(jù)進(jìn)行修改。
在各個窗體按鈕對應(yīng)模塊的宏代碼中添加適當(dāng)?shù)腣BA程序,可以完善模塊的應(yīng)用功能(讀者可對照上表找出所添加的VBA程序代碼)。
(一)“數(shù)據(jù)清零與輸入數(shù)據(jù)”窗體按鈕
Sub Macro1()
Application.ScreenUpdating = False'取消屏幕閃爍
Sheets("實(shí)驗(yàn)14").Select '選擇“實(shí)驗(yàn)14”工作表
Range("