本类文章存档于 ‘Excel图表与图形’ 分类目录.
2010年02月23日, 2:17 下午

Loading ...
Excel 2007 Chess Game Viewer,是一个极具创造性的Excel应用程序,由Daniel Ferry制作。
没有使用宏,而是:
- 没有使用VBA的动态图表
- XY散点图和堆积柱状图的组合
- 使用图片文件进行标记填充
- 条件图表格式形成棋盘样式
- 没有IF()函数。而是使用REPT()和逻辑函数作为IF() INDEX/MATCH的替代品

详见:Excel 2007 Chess Game Viewer
示例下载:
有兴趣的朋友可以下载研究。
2010年01月20日, 1:00 下午

Loading ...
标签:
Excel图表类型,
XY图,
圆环图,
折线图,
曲面图,
条形图,
柱形图,
气泡图,
股价图,
雷达图,
面积图,
饼图 分类目录:
Excel图表与图形 |
评论 | 388 次阅读
2010年01月4日, 1:17 下午

Loading ...
又是暂新的一年!
在这里,给大家送上迟到的祝福:Happy New Year!
找到了Andy Pope制作的两个Excel工作簿,与大家分享Excel带来的乐趣。
如下图:

使用标准的XY图表构造,通过工作表公式计算图表数据,通过滚动条人工控制显示屏移动,也可以使用VBA自动控制移动。也可以通过Alphabet工作表构造自已的字体形状。
原工作簿下载:
原文链接:http://www.andypope.info/fun/pixilate.htm
如下图:

用户能够控制发射焰火的数量,以及火花的数量和重力的影响。这也是通过使用XY图表实现的。
原工作簿下载:
原文链接:http://www.andypope.info/fun/fireworks.htm
哈哈……过瘾吧!这又一次验证了:实现不是问题,就怕你没有想象力和创造力。
2009年08月19日, 1:04 下午

Loading ...
作为Office 2007发布版的一部分,我们对Office中的图表作了较大的修改,然而并没有为Word和PowerPoint提供对象模型。响应用户的反馈,在Office 2007 SP2和Office 2010中,我们公布了Word和PowerPoint中统一的/一致的图表对象模型,因此,你可以为任何利用了新的图表功能的应用程序编写解决方案。图表通过相同的共享的Office绘图层来绘制,因此如果你熟悉Excel 2007中的对象模型,那么可以容易地在Word和PowerPoint中创建相似的解决方案。
公司经常需要基于客户端指定的数据在文档或演示文档中创建图表。在许多情况下,这些图表有标准格式、大小和位置,使之首选自动化操作完成。这个对象模型能够被用作解决方案的一部分,以自动生成图表,从而节省时间。
下面看一个示例:如何基于已经获得的数据在PowerPoint中创建图表并应用标准的格式。
Sub CreateChart()
Dim myChart As Chart
Dim gChartData As ChartData
Dim gWorkBook As Excel.Workbook
Dim gWorkSheet As Excel.Worksheet
Set myChart = ActivePresentation.Slides(1).Shapes.AddChart.Chart '创建/设置图表
Set gChartData = ActivePresentation.Slides(1).Shapes(1).Chart.ChartData '设置图表数据
Set gWorkBook = gChartData.Workbook '设置工作簿对象引用
Set gWorkSheet = gWorkBook.Worksheets(1) '设置工作表对象引用
gWorkSheet.ListObjects("Table1").Resize gWorkSheet.Range("A1:B5") '添加数据
gWorkSheet.Range("Table1[[#Headers],[Series 1]]").Value = "Sales"
gWorkSheet.Range("a2").Value = "Bikes"
gWorkSheet.Range("a3").Value = "Accessories"
gWorkSheet.Range("a4").Value = "Repairs"
gWorkSheet.Range("a5").Value = "Clothing"
gWorkSheet.Range("b2").Value = "1000"
gWorkSheet.Range("b3").Value = "2500"
gWorkSheet.Range("b4").Value = "4000"
gWorkSheet.Range("b5").Value = "3000"
With myChart '应用样式
.ChartStyle = 4
.ApplyLayout 4
.ClearToMatchStyle
End With
myChart.HasTitle = True '添加标题
With myChart.ChartTitle '格式化标题
.Characters.Font.Size = 18
.Text = "2007 Sales"
End With
With myChart.Axes(xlValue) '添加坐标轴标题
.HasTitle = True
.AxisTitle.Text = "$"
End With
myChart.ApplyDataLabels '添加数据标签
Set gWorkSheet = Nothing
gWorkBook.Application.Quit
Set gWorkBook = Nothing
Set gChartData = Nothing
Set myChart = Nothing
End Sub
正如你所见,图表仍然由ChartObject表示并且在本例中由Shape包含。图表在Word中能够由InlineShape或Shape包含,在PowerPoint中由Shape包含。这里,ChartObject一般是在Excel中看到的镜像。一些关键的不同是:
- 在Excel中属性/方法通常接受一个Range对象,而现在在Word和PowerPoint中接受单元格地址字符串。
- 在Word和PowerPoint中添加了一个新对象ChartData,访问图表中隐含的链接或嵌入的数据。
编程操作Word和PowerPoint中图表的能力也为围绕在演示期间动态改变图表外观或者创建交互的Word文档的各种各样有趣的解决方案打开了“门”。下面是一个解决方案示例:在演示期间添加数据标签到图表中。
Private Sub BtnDataLabels_Click()
Set myChart = ActivePresentation.Slides(1).Shapes(1).Chart '设置图表对象引用
myChart.ApplyDataLabels '添加数据标签
Set myChart = Nothing
End Sub
初译自Excel Team Blog。
问题:在实现第一个示例时,发现必须添加对Excel对象库的引用,在添加时发现虽然安装的是Office 14,但仍然是“Microsoft Excel 12.0 Object Library”,并且执行时出现错误:

难道作者的介绍自相矛盾?
2009年07月24日, 2:20 下午

Loading ...