论文部分内容阅读
实验对物理的学习非常重要。学生在实验过程中需要记录与处理实验数据,完成实验后需要向教师递交实验报告。利用Excel的表格、图表、库功能,以及窗体按钮、宏的录制和VBA程序设计的方法,可以方便学生用Excel工作簿检查和管理实验数据。
一、结构与功能简介
该工作簿包括“实验14”和用于保存各组(本案例为20组)学生实验数据的“原始数据库”两张工作表。“实验14”由用于接受学生输入实验数据的“实验数据”、自动进行数据处理的“实验处理”与“实验结果”子区(如图所示)以及供学生输入分析文本的“分析与研究”子区等11个子区(详见案例文档*)组成。
二、公式与参数设置的前期准备
为实现数据的自动处理,相应单元格中的公式如下:B22(电阻值):=B18/B19(复制到B22:G22区域);B23(导线平均长度):=AVERAGE(B16:D16);E23(导线平均直径):=AVERAGE(B17:D17);F23(电阻平均值):=AVERAGE(B22:G22);B25(电阻率):=PI()*(E23*0.001)^2*G23/(4*B23*0.01)
为保证实验数据显示合理有效的数字位数,选中相应单元格或区域,执行“格式/单元格/数字/数值|日期|科学记数”命令,设置两位小数的数值格式以及“年—月—日”的日期格式。
为便于编程,选中“实验14”和“原始数据库”工作表的下列区域或单元格,执行“插入/名称/定义”命令,设置各单元格与区域的名称及对应的坐标如下:原始数据=实验14!A14:G19;组1=原始数据库!A2:G7……组20=原始数据库!A135:G140;分析1=原始数据库!H2……分析20=原始数据库!H135。
执行“格式/单元格/保护”命令解除“实验14”工作表的“实验数据”和“分析与研究”两个子区中需要输入数据的单元格或区域的锁定状态,其余单元格均保持默认的锁定状态;再执行“工具/保护/工作表保护”命令保护该工作表,并只允许用户“选定未锁定的单元格”,从而可以在其中输入数据和分析文本。
三、窗体按钮对应宏的录制
为简化VBA程序编制,本案例采用窗体按钮,各自对应基本操作的宏代码在添加窗体按钮后弹出的对话框中单击“录制新宏”录制,也可通过执行“工具/宏/录制新宏”命令录制。典型的操作及自动录制的对应宏代码如下表。
四、各窗体按钮模块中VBA程序(含宏)的编制
包含5个“窗体”按钮。其中,“数据清零与输入数据”按钮用于引导学生在“实验数据”区输入其“姓名”、“实验组号”、“班级”、“实验日期”和实验数据;“学生数据入库保存”按钮用于保存本实验报告及含该学生现有实验原始数据的“原始数据库”;“调用库中学生数据”按钮用于学生在重做实验后,通过输入“姓名”与“实验组号”,从“原始数据库”中调出所保存的旧有实验数据进行修改。
在各个窗体按钮对应模块的宏代码中添加适当的VBA程序,可以完善模块的应用功能(读者可对照上表找出所添加的VBA程序代码)。
(一)“数据清零与输入数据”窗体按钮
Sub Macro1()
Application.ScreenUpdating = False’取消屏幕闪烁
Sheets("实验14").Select ’选择“实验14”工作表
Range("B14,D14,F14,G14,B16:D17,B18:G19").Select’选择“实验数据”子区相应数据单元格和数据区域
Selection.ClearContents
Range("B13").Activate ’选择B13单元格
End Sub
(二)“数据处理与检查结果”窗体按钮
Sub Macro2()
Application.Goto Reference:="R27C1" ’向下翻屏到A27单元格
Application.Goto Reference:="R13C2" ’向上移动到B13单元格
End Sub
(三)“保存本组学生数据”窗体按钮
Sub Macro3()
Application.ScreenUpdating = False
Sheets("实验14").Select
ActiveSheet.Unprotect’取消“实验14”工作表保护
’保证“组号”等单元格中必须输入正确内容
If IsNumeric(Cells(14, 2)) = False Or Cells(14, 2) > 20 Or Cells(14, 2) < 1 Or Cells(14, 2) = "" Or Cells(14, 4) = "" Then
MsgBox ("请在“实验组号”单元格B14中输入1~20之间的整数组号,在“姓名”单元格D14中输入您的姓名,在“班级”单元格F16中输入你所在班级代号。")
Else
a = "组"
一、结构与功能简介
该工作簿包括“实验14”和用于保存各组(本案例为20组)学生实验数据的“原始数据库”两张工作表。“实验14”由用于接受学生输入实验数据的“实验数据”、自动进行数据处理的“实验处理”与“实验结果”子区(如图所示)以及供学生输入分析文本的“分析与研究”子区等11个子区(详见案例文档*)组成。
二、公式与参数设置的前期准备
为实现数据的自动处理,相应单元格中的公式如下:B22(电阻值):=B18/B19(复制到B22:G22区域);B23(导线平均长度):=AVERAGE(B16:D16);E23(导线平均直径):=AVERAGE(B17:D17);F23(电阻平均值):=AVERAGE(B22:G22);B25(电阻率):=PI()*(E23*0.001)^2*G23/(4*B23*0.01)
为保证实验数据显示合理有效的数字位数,选中相应单元格或区域,执行“格式/单元格/数字/数值|日期|科学记数”命令,设置两位小数的数值格式以及“年—月—日”的日期格式。
为便于编程,选中“实验14”和“原始数据库”工作表的下列区域或单元格,执行“插入/名称/定义”命令,设置各单元格与区域的名称及对应的坐标如下:原始数据=实验14!A14:G19;组1=原始数据库!A2:G7……组20=原始数据库!A135:G140;分析1=原始数据库!H2……分析20=原始数据库!H135。
执行“格式/单元格/保护”命令解除“实验14”工作表的“实验数据”和“分析与研究”两个子区中需要输入数据的单元格或区域的锁定状态,其余单元格均保持默认的锁定状态;再执行“工具/保护/工作表保护”命令保护该工作表,并只允许用户“选定未锁定的单元格”,从而可以在其中输入数据和分析文本。
三、窗体按钮对应宏的录制
为简化VBA程序编制,本案例采用窗体按钮,各自对应基本操作的宏代码在添加窗体按钮后弹出的对话框中单击“录制新宏”录制,也可通过执行“工具/宏/录制新宏”命令录制。典型的操作及自动录制的对应宏代码如下表。
四、各窗体按钮模块中VBA程序(含宏)的编制
包含5个“窗体”按钮。其中,“数据清零与输入数据”按钮用于引导学生在“实验数据”区输入其“姓名”、“实验组号”、“班级”、“实验日期”和实验数据;“学生数据入库保存”按钮用于保存本实验报告及含该学生现有实验原始数据的“原始数据库”;“调用库中学生数据”按钮用于学生在重做实验后,通过输入“姓名”与“实验组号”,从“原始数据库”中调出所保存的旧有实验数据进行修改。
在各个窗体按钮对应模块的宏代码中添加适当的VBA程序,可以完善模块的应用功能(读者可对照上表找出所添加的VBA程序代码)。
(一)“数据清零与输入数据”窗体按钮
Sub Macro1()
Application.ScreenUpdating = False’取消屏幕闪烁
Sheets("实验14").Select ’选择“实验14”工作表
Range("B14,D14,F14,G14,B16:D17,B18:G19").Select’选择“实验数据”子区相应数据单元格和数据区域
Selection.ClearContents
Range("B13").Activate ’选择B13单元格
End Sub
(二)“数据处理与检查结果”窗体按钮
Sub Macro2()
Application.Goto Reference:="R27C1" ’向下翻屏到A27单元格
Application.Goto Reference:="R13C2" ’向上移动到B13单元格
End Sub
(三)“保存本组学生数据”窗体按钮
Sub Macro3()
Application.ScreenUpdating = False
Sheets("实验14").Select
ActiveSheet.Unprotect’取消“实验14”工作表保护
’保证“组号”等单元格中必须输入正确内容
If IsNumeric(Cells(14, 2)) = False Or Cells(14, 2) > 20 Or Cells(14, 2) < 1 Or Cells(14, 2) = "" Or Cells(14, 4) = "" Then
MsgBox ("请在“实验组号”单元格B14中输入1~20之间的整数组号,在“姓名”单元格D14中输入您的姓名,在“班级”单元格F16中输入你所在班级代号。")
Else
a = "组"