APP下载

VBA在环境监测数据统计中的应用

2014-11-19安贝贝蒋昌潭

环境科学导刊 2014年1期
关键词:昼间冲动性声级

安贝贝,李 灵,蒋昌潭

(重庆市环境监测中心,重庆401147)

环境监测数据统计需要对大量的环境监测数据进行处理,工作人员常常需要花费大量的时间完成数据计算、整理和校对,工作繁琐、重复性强。为了提高环境监测数据统计效率,本文以功能区噪声数据筛选为例,将excel中的Visual Basic for Application(简称VBA)应用在环境监测数据统计分析中。

1 VBA介绍

Visual Basic for Applications(简称VBA)是新一代标准宏语言,是一种面向对象的程序设计方法[1]。使用VBA可以使工作自动化;可以自定义EXCEL工具栏、菜单和界面;可以创建报表;可以对数据进行复杂的操作和分析等。

VBA集成开发环境是进行VBA程序设计和代码编写的地方,在Excel中通过“工具—宏—Visual Basic编辑器”进入VBA开发环境。

2 功能区噪声数据统计方法

在环境监测数据统计中,功能区噪声的计算方法相对复杂。各个功能区噪声监测数据需要先根据“声环境质量常规监测暂行技术规定”要求,利用公式 (1)分别计算出昼间 (Ld)和夜间 (Ln)等效声级,再按照《声环境质量标准》 (GB3096-2008)[2]对昼间、夜间等效声级进行独立评价。

式中:Leq(i)为白天 (06∶00—22∶00)16个小时中第i个小时的等效声级,Leq(j)为夜间(22∶00—06∶00)8 个小时中第 j个小时的等效声级。

3 VBA在功能区噪声数据统计中的应用

3.1 利用VBA计算功能区噪声昼间和夜间等效声级

对某个功能区噪声监测点建立表1所示的excel表,启动“宏”编辑器,首先定义全局变量,例如:Dim row As Integer。

(定义列变量),Dim Sumval_D As Double(定义昼间等效声级为浮点型变量),再对变量进行初始化:Sumval_D=0#,Sumval_N=0#等。

(定义整型循环变量),Dim Thecell As Range

根据公式 (1),利用幂函数 Application.WorksheetFunction.Power()和对数函数Application.WorksheetFunction.Log10()进行代码编写,结果如表2所示。

核心代码示范如下:

Sumval_D=0#

Sumval_N=0#

For row=1 To 6

通过对冲动性购买行为的相关文献进行归纳分析,发现现有文献的研究热点是消费者冲动性购买行为的影响因素,这方面的研究可以扩展出更多的具体研究情境下消费者的冲动性购买行为受什么因素的影响,同时,可以结合营销心理学方面的知识,研究消费者冲动性购买行为发生时其心理状态的变化。

Set Thecell=Range("B2").Offset(row-1,0)

Sumval_N=Sumval_N+Application.WorksheetFunction.Power(10,Thecell.Value*0.1)

Next row

For row=1 To 16

Set Thecell=Range("B8").Offset(row-1,0)

Sumval_D=Sumval_D+Application.WorksheetFunction.Power(10,Thecell.Value*0.1)

Next row

For row=1 To 2

Sumval_N=Sumval_N+Application.WorksheetFunction.Power(10,Thecell.Value*0.1)

Next row

Sumval_D =10* Application.Worksheet Function.Log10(Sumval_D/16)

Sumval_N =10* Application.Worksheet Function.Log10(Sumval_N/8)

3.2 利用VBA分别筛选出昼间和夜间等效声级最小的日期

在计算昼间和夜间等效声级的基础上,分别筛选出该测点昼间和夜间等效等级最小出现的日期,结果如图1所示。

首先利用excel“工具—宏”(或快捷键Alt+F8)新建“宏”,再新增一 Button按钮 (Private Sub CommandButton1_Click()End Sub),以方便今后直接执行该宏。

表1 功能区噪声原始数据表

表2 等效声级计算结果

核心代码示范如下:

For row=1 To 9

Set Thecell=Range("B29").Offset(0,row)

If minval>= Thecell.Value Then minval=Thecell.Value

If minval>= Thecell.Value Then mincol=Thecell.Column

Next row

MsgBox"昼间等效声级最小的日期"&Cells(1,mincol_D)&";"&"夜间等效声级最小的日期:"&Cells(1,mincol_N)

4 结论

针对环境监测数据统计中较为复杂的功能区噪声等效声级监测日期的筛选问题,利用Excel中的VBA编制宏代码能够方便快捷地实现。此外,Excel VBA使用简便,功能强大,能够解决环境监测工作中存在的数据量大,计算复杂繁琐等困难。

[1]赵志东.Excel VBA基础入门 (第2版)[M].北京:人民邮电出版社,2011.

[2]GB3096-2008.声环境质量标准 [S].

[3]徐浙峰,林树生,封龙.用EXCEL统计功能区噪声 [J].黑龙江环境通报,2006,30(3):94-96.

猜你喜欢

昼间冲动性声级
一种等效40 h声级的计算方法探讨
青少年冲动性与焦虑、防御方式的关系研究*
冲动性的测量方法*
对消费者冲动性购买现象的再探究
脑卒中合并昼间嗜睡对卒中后血压变异性的影响
昼间行驶灯集成在前照灯内的设计方法与应用
“十二五”期间衡阳市声环境质量变化趋势分析
谈昼间行驶灯的设计及控制方法
火车站列车运行噪声测试与分析
AWA6228型声级计监测室内噪声的问题探讨