首页 > EXCEL > 运用Excel散点图 制作时钟 教程

运用Excel散点图 制作时钟 教程

2010年7月12日 Surda 发表评论 阅读评论

效果图:(文章底部附实例下载)

excel-clock

说明:点击“START“时钟开始运行,点击“STOP”时钟停止运行。

工具:Excel X、Y散点图绘制图表、SIN()、COS()、RADIANS()等函数;

原理:"=2∏r "

数据制作

sin-cos 据左图,把指针看做从原点引出的辅助线(r)。指针是向右顺时针旋转与正上方的y轴的角度为α。因此x=r*sin(α),y=r*cos(α)

据此原理我们可分别得出时、分秒指针r的 X、Y的散点坐标公式:(以时钟为例,设指针长度为0.5

 X=0.5*SIN(HOUR(NOW())+MINUTE(NOW())/60)*2*PI()/12

 Y=0.5*SIN(HOUR(NOW())+MINUTE(NOW())/60)*(2*PI()/12)

1)HOUR(NOW())+MINUTE(NOW())/60 得到是多少小时(忽略了秒的影响)。举个例子:设当前时间为13:48,则公式HOUR(NOW())+MINUTE(NOW())/60=13.8

2)(2*PI()/12) 将一闭合圆分成12等分,时间以12小时为一天周。

时针、分针和秒针的方法相似,都是从原点引出的一个线段。同理可以得出分针、钞针公式:

分针(设分针长度为0.75)

X=0.75*SIN((MINUTE(NOW())+(SECOND(NOW())/60))*(2*PI()/60))

钞针(设钞针长度为0.85)

X=0.85*SIN(SECOND(NOW())*(2*PI()/60))

至此时针、分针、秒针皆已确定,只剩下表刻度盘了。(这里主刻度盘为例说明)将一个圆(360°)划为12等分,每个小时之间的夹角是30°,则刻度盘的公式:(radians()将角度转换成弧度)

X=SIN(RADIANS(30*(ROW(1:1)-1)))

按需求公式填充成如下区域数据:

  A B C D E
1 时针   刻度盘
2 x y   x y
3 0.000 0.000   0.000 1.000
4 0.451 0.215   0.500 0.866
5       0.866 0.500
6 分针   1.000 0.000
7 x y   0.866 -0.500
8 0.000 0.000   0.500 -0.866
9 0.580 0.392   0.000 -1.000
10       -0.500 -0.866
11 秒针   -0.866 -0.500
12 x y   -1.000 0.000
13 0.000 0.000   -0.866 0.500
14 0.777 -0.346   -0.500 0.866
15       0.000 1.000

接下来就是图表的制作了

【插入】-【图表】-【散点图】,分别增加时针、分针、秒针、刻度盘系列,得到图表雏形如下

image

到这差不多主要效果皆已实现,你可以连续按F9测试一下。(格式请自行设置)

最后分别为按钮“START"、"STOP"录制宏命令,按ALT+F11进入VBA编辑界面,插入模块,将以下代码复制到代码框-保存

Option Explicit
Dim NextTick
Sub UpdateClock()
ThisWorkbook.Sheets(1).Calculate
NextTick = Now + TimeValue("00:00:01")
Application.OnTime NextTick, "UpdateClock"
End Sub
Sub StopClock()
    On Error Resume Next
    Application.OnTime NextTick, "UpdateClock", , False
End Sub

按钮"START"指定宏"UPDATECLOCK()",按钮"STOP"指定宏"STOPCLOCK()"。

附Excel时钟下载

ShareOn:
  •  
  1. 2010年7月13日15:29 | #1

    好可怕,你太牛了。。

  2. Comet
    2011年5月20日11:32 | #3

    太牛了。。。。膜拜之

  1. 本文目前尚无任何 trackbacks 和 pingbacks.