APP下载

利用Excel建立人体生物节律表

2009-05-11聂清林

计算机教育 2009年8期
关键词:体力智力情绪

聂清林

文章编号:1672-5913(2009)08-0133-03

摘要:Microsoft Excel是一款功能强大、使用方便的数据处理软件。它具有直观的操作界面、出色的计算功能和图表工具,可完成数据的计算、统计、分析等工作,并可生成精美直观的图表。本文介绍利用Microsoft Excel建立人体生物节律表的操作。

关键词:Microsoft Excel;人体生物节律;VBA;体力;情绪;智力

中图分类号:G642

文献标识码:B

1人体生物节律介绍

人体生物节律理论起源于19世纪末20世纪初,由奥地利心理学家赫尔曼·斯瓦波达(Hermann Swoboda)、德国内科医生威尔赫母·弗里斯(Wilhelm Fliess)、澳大利亚机械工程学教授阿尔弗雷德·特尔茨谢尔(Alfred Teltscher)等人,通过对大量人群的统计发现,人自出生日起,体力、情绪、智力状态会随着时间的推移呈周期性波动变化。这种变化可以用正弦函数来描述。人出生时的初始状态值为0,随后按照固有周期在-1与1之间波动。该值为正时表示体力、情绪、智力饱满,等于或接近1时最强;该值为负时表示体力、情绪、智力疲软,等于或接近-1时最弱。这几位科学家经过统计分析得出人体生物节律的体力波动周期为23天、情绪波动周期为28天、智力波动周期为33天。

2制作人体生物节律表及图表

Microsoft Excel具有操作简单而功能强大的统计计算功能,通过它可以十分方便地计算出各种统计数据并制作出相应的图表。下面介绍利用Microsoft Excel建立人体生物节律表及图表的操作过程,其制作过程及运行结果参考图1。

图1 利用Excel制作人体生物节律表及图表

1) 打开Microsoft Excel并建立空白文档

2) 输入个人信息

●在单元格A1、C1、E1中分别输入文本“姓名”、“出生日期”、“当前日期”;

●在单元格B1、D1、F1中分别输入读者姓名、出生日期、公式“=today()”,注意日期的格式为“年-月-日”,公式内的括号必须是半角括号;

●在单元格A2中输入文本“当前日期距出生日期的天数:”,单元格D2中输入公式“=F1-D1”,更改D2单元格的显示格式为“常规”格式(单击“格式”→“单元格”菜单命令,选择“数字”选项卡下的“常规”);

●在单元格A3、C3、E3中分别输入文本“体力周期”、“情绪周期”、“智力周期”,单元格B3、D3、F3中分别输入数值“23”、“28”、“33”。

3) 建立人体生物节律表

●在单元格A5、B5、C5、D5、E5内分别输入文本“日期”、“相对日期”、“体力”、“情绪”、“智力”;

●在单元格B6至B36内输入数值0、1、2、…、30,单元格A6内输入公式“=today()+B6”,单元格C6、D6、E6内分别输入公式:

C6:“=SIN(MOD(($D$2+B6),$B$3)/$B$3*2*3.1415926)”

D6:“=SIN(MOD(($D$2+B6),$D$3)/$D$3*2*3.1415926)”

E6:“=SIN(MOD(($D$2+B6),$F$3)/$F$3*2*3.1415926)”

注意公式内所有符号都必须是半角符号;

●将单元格A6、C6、D6、E6内的公式向下复制到区域A7~A36、C7~C36、D7~D36、E7~E36中。

4) 制作人体生物节律图表

●选择区域B5:E36;

●单击常用工具栏的“图表向导”按钮 打开“图表向导”对话框;

●选择“XY 散点图”图表类型的“无数据点平滑线散点图”子类型,单击“完成”按钮完成图表的建立。

对建立好图表的显示格式进行适当修改,如增加图表宽度、添加图表标题、调整X轴与Y轴的刻度及字号属性等,参考图1所示的“人体生物节律图表”。

图表的横轴表示日期,最左端的0表示当前日期,数值每加1表示日期增加一天。图表的竖轴表示人体生物节律值,取值范围从-1到1,数值的大小表示人体生物水平的高低,1表示最佳状态,-1表示低谷状态,0为临界点,也是波动最大的状态。图表内的三条正弦曲线表示人体生物节律随时间的变化,其中蓝色曲线表示体力、紫色表示情绪、黄色表示智力。

3利用Microsoft VBA自动生成人体生物节律表及图表

上面介绍了利用Microsoft Excel的基本操作与图表功能建立人体生物节律表及图表的过程。下面介绍应用VBA程序设计在Excel内自动制作人体生物节律表及图表的操作。

1) 建立工作簿,并输入读者姓名与出生日期

●打开Microsoft Excel并建立空白工作簿;

●选择“sheet1”工作表,并将工作表名称更改为“Biorhythm”;

注意:由于在程序代码中需要引用工作表的名称,所以本操作必须按要求正确完成。

●在下列单元格内输入要求的内容:

■A1单元格内输入文本“姓名:”;

■B1单元格内输入读者的名字;

■C1单元格内输入文本“出生日期:”;

■D1单元格内输入读者的生日,要求按照“年- 月-日”的格式输入;

2)在工作表内添加命令按钮

●单击“视图”→“工具栏”→“控件工具箱”菜单命令显示出“控件工具箱”工具栏;

●单击“控件工具箱”工具栏上的“命令按钮”图标 ;

●在工作表下侧偏右位置用鼠标拖动出一个命令按钮;

●单击“控件工具箱”上的“属性”按钮 打开命令按钮的属性窗口;

●在属性窗口内更改命令按钮的名称属性为“cmd计算”,更改Caption属性为“计算节律值”;

●利用同样方法制作第二个命令按钮,更改其名称为“cmd制表”、Caption属性为“制做图表”

3) 为命令按钮添加程序代码

●选择工作表内的“cmd计算”命令按钮,然后单击“控件工具箱”上的“查看代码”按钮 打开Microsoft Visual Basic集成开发环境并进入“cmd计算”命令按钮的“单击事件”代码窗口;

●为工作表声明模块级变量、常量及输入“cmd计算”命令按钮的单击事件程序代码;

Option Explicit

Const PI = 3.1415926 '定义常量π值

'下面定义的常量分别表示体力、情绪、智力节律周期

Const PHYSICAL_CYCLE = 23, EMOTIONAL_CYCLE = 28, INTELLECTUAL_CYCLE = 33

Dim userName As String '声明用户姓名变量

Dim birthDate As Date, currentDate As Date '声明用户生日、当前日期变量

Dim dateDiff As Long '变量dateDiff表示当前日期与用户出生日期之间相差的天数

'下面定义的变量分别表示dateDiff除以体力、情绪、智力节律周期所剩的余数

Dim physical As Integer, emotional As Integer, intellectual As Integer

Private Sub cmd计算_Click()

'将工作表中的用户姓名、出生日期等信息读入程序,并

求physical、emotional、intellectual变量值

userName = ActiveSheet.Range("b1").Value

birthDate = ActiveSheet.Range("d1").Value

currentDate = Date

dateDiff = currentDate - birthDate

physical = dateDiff Mod PHYSICAL_CYCLE

emotional = dateDiff Mod EMOTIONAL_CYCLE

intellectual = dateDiff Mod INTELLECTUAL_CYCLE

'计算用户的体力、情绪、智力节律数值,并显示到工作

表的单元格内

Range("a2").Value = "体力": Range("b2").Value

= "情绪": Range("c2").Value = "智力"

Range("a3").Value = Sin(physical/ PHYSICAL_

CYCLE * 2 * PI)

Range("b3").Value = Sin(emotional/ EMOTIONAL

_CYCLE * 2 * PI)

Range("c3").Value=Sin(intellectual/ INTELLECTUAL

_CYCLE * 2 * PI)

Range("a2:c3").Font.Bold = True

End Sub

●与命令按钮“cmd计算”的操作一样,为命令按钮“cmd制表”添加单击事件过程。

Private Sub cmd制表_Click()

Dim i As Integer '定义循环变量

'为人体生物节律表添加标题行

Range("a5").Value = "相对日期"

Range("b5").Value = "体力"

Range("c5").Value = "情绪"

Range("d5").Value = "智力"

'建立人体生物节律表

For i = -5 To 30

Range("a" + CStr(i + 11)).Value = CStr(i)

Range("b" + CStr(i + 11)).Value = Sin

((physical + i) / PHYSICAL_CYCLE * 2 * PI)

Range("c" + CStr(i + 11)).Value = Sin

((emotional + i) / EMOTIONAL_CYCLE * 2 * PI)

Range("d" + CStr(i + 11)).Value = Sin

((intellectual + i) / INTELLECTUAL_CYCLE * 2 * PI)

Next i

'依据人体生物节律表数据建立图标

Charts.Add

ActiveChart.ChartType =

xlXYScatterSmoothNoMarkers

ActiveChart.SetSourceData Source:=Sheets

("Biorhythm").Range("A5:D41"), PlotBy:=

xlColumns

ActiveChart.Location Where:=

xlLocationAsObject, name:="Biorhythm"

'设置图标格式

With ActiveChart

.HasTitle = True

.ChartTitle.Characters.Text = userName

+ "的人体生物节律图"

.ChartTitle.Font.name = "楷体_GB2312"

.ChartTitle.Font.Size = 16

.Axes(xlValue).MinimumScale = -1

.Axes(xlValue).MaximumScale = 1

.Axes(xlValue).CrossesAt = -1

.Axes(xlValue).TickLabels.Font.Size = 10

.Axes(xlCategory).MinimumScale = -5

.Axes(xlCategory).MaximumScale = 30

.Axes(xlCategory).CrossesAt = -5

.Axes(xlCategory).TickLabels.Font.Size=10

.Axes(xlCategory).MajorTickMark= lCross

.Axes(xlCategory).MinorTickMark = xlInside

End With

ActiveChart.PlotArea.Select

Selection.Border.LineStyle = xlNone

Selection.Interior.ColorIndex = xlNone

ActiveChart.Legend.Select

Selection.AutoScaleFont = True

Selection.Font.Size = 10

Selection.Border.LineStyle = xlNone

Selection.Interior.ColorIndex = xlNone

End Sub

代码输入完毕后,关闭VBA环境回到Microsoft Excel工作表界面,单击“控件工具箱”上的“退出设计模式”按钮 退出设计模式。至此,工作表的建立与代码编辑全部完毕。

4) 建立人体生物节律表及图表

工作表的建立及代码编辑完成后,在工作表B1单元格内输入被测试者的姓名,D1单元格内输入出生日期,然后单击“计算节律值”按钮将显示出被测试者当日的体力、情绪、智力节律值;单击“制作图表”按钮将在工作表内自动制作被测试着从当日到后30日的体力、情绪、智力节律值表,同时自动制作出显示这些信息的人体生物节律图。

在B2与D2单元格中重新输入其他的名字与出生日期,然后依次按下“计算节律值”按钮与“制作图表”按钮,系统将计算出他人的体力、情绪与智力节律值,并重新生成人体生物节律表及图表。

注意:当Excel文件存盘并退出后,重新打开Excel文件时,由于文件中包含了程序代码,系统会提示安全警告。用户需要选择“启用宏”按钮方可执行电子表格中命令按钮包含的程序代码。如果打开Excel文件时系统没有安全警告,文件打开后也不执行命令按钮的程序代码,则需要在Microsoft Excel选项内的“安全性”选项卡中,打开“宏安全性”对话框,将安全级设置为“中”,然后重新打开Excel文件即可。

4结束语

Microsoft Excel是一个功能强大、使用方便的电子表格软件。它可完成信息统计、分析等多项工作,生成精美直观的表格、图表。Microsoft Excel为我们在日常生活与工作中处理各式各样的表格及计算统计操作提供了一个良好的工具。

参考文献:

[1] Duane Birnbaum.Microsoft Excel VBA Programming for the Absolute Beginner[M].美国:Thomson Course Technology,2005.

[2] 恒盛杰资讯.Excel VBA高效办公经典108例[M].北京:中国青年出版社,2007.

[3] 维基百科.Biorhythm[EB/OL].http://en.wikipedia.org/wiki/Biorhythm,2008-11.

The Use of Microsoft Excel to Set Up Human Biological Rhythm Table

Nie Qing-lin

(College of Arts and Science of Beijing Union University, Beijing 100083,China)

Abstract: Microsoft Excel is a powerful, easy-to-use data-analyzing software. It has a convenient user interface, powerful calculating and statistical functions, and graphics tool. Microsoft Excel is usually used in data statistics, data analysis and in generating attractive and intuitive charts. This paper describes the steps of setting up human biological rhythm table by Microsoft Excel.

Key words: Microsoft Excel; human biological rhythm; VBA, physical; emotional; intellectual

猜你喜欢

体力智力情绪
小情绪
小情绪
小情绪
智力闯关
智力闯关
情绪认同
欢乐智力谷
人类的收留
水下作战用啥枪
男子体力测验