聶清林
文章編號: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