vba 修改文本文档 指定行_VBA代码之三十五:使用VBA代码自动生成图表(二)

992c8f04732b066f950a2384a554b0fc.png

大家好,今日继续上一讲的内容,也是VBA代码方案的第三十五讲,继续讲使用VBA代码自动生成图表的下半部分。在上一讲中我们讲了基本的方法,今日就利用这些方法来完成我们的任务,为此,我写了下面的35行代码:

Sub MyChartAdd()

2 Dim myRange As Range

3 Dim myChart As ChartObject

4 Dim MR As Integer

5 Sheets("Sheet1").Select

6 MR = Range("A1048576").End(xlUp).Row

7 Set myRange = Sheets("Sheet1").Range("A" & 1 & ":F" & MR)

8 Set myChart = Sheets("Sheet1").ChartObjects.Add(120, 40, 400, 250)

9 myChart.Chart.ChartType = xlColumnClustered

10 myChart.Chart.SetSourceData Source:=myRange, PlotBy:=xlColumns

11 myChart.Chart.ApplyDataLabels ShowValue:=True

12 myChart.Chart.HasTitle = True

13 myChart.Chart.ChartTitle.Text = "我的图表"

14 With myChart.Chart.ChartTitle.Font

15 .Size = 20

16 .ColorIndex = 3

17 .Name = "华文新魏"

18 End With

19 With myChart.Chart.ChartArea.Interior

20 .ColorIndex = 8

21 .PatternColorIndex = 1

22 .Pattern = xlSolid

23 End With

24 With myChart.Chart.PlotArea.Interior

25 .ColorIndex = 35

26 .PatternColorIndex = 1

27 .Pattern = xlSolid

28 End With

29 With myChart.Chart.SeriesCollection(2).DataLabels.Font

30 .Size = 10

31 .ColorIndex = 5

32 End With

33 Set myRange = Nothing

34 Set myChart = Nothing

35 End Sub

代码解析:

MyChartAdd过程在工作表中自动生成图表,图表类型为簇状柱形图。

a) 第6行代码取得数据范围的最关键的数据.

b) 第7行代码指定图表的数据源。

c) 第8行代码使用Add方法创建一个新图表,

d) 第9行代码指定新创建图表的图表类型,应用于Chart对象的ChartType属性返回或设置图表的类型,可以为XlChartType常量之一,本例中设置为xlColumnClustered即图表类型为簇状柱形图。

e) 第10行代码指定图表的数据源和绘图方式,

f) 第11行代码使用ApplyDataLabels方法使图表显示数据标签和数据点的值,

g) 第12到13行代码设置新创建的图表有可见的标题并设置图表标题的文字。应用于Chart对象的HasTitle属性,如果坐标轴或图表有可见标题,则该值为True,而ChartTitle属性返回一个ChartTitle对象,代表指定图表的标题。

h) 第14行到第18行代码设置图表标题文字的格式。

i) 第19行到第23行代码设置图表区的颜色。

j) 第24行到第28行代码设置绘图区的颜色。

k) 第31行代码删除图表上第一个数据系列中的数据标签。

l) 第29行到第32行代码设置图表上第二个数据系列中的数据标签的字体格式。

代码窗口:

cd7367e8c973eead91f4d75a442bcb7f.png

数据窗口:

077fddaafc29bc8936b034a349fe05de.png

运行ChartAdd过程,在工作表中创建簇状柱形图,如图所示:

989ce44a0b5e2a564cb2c725cf7d708f.png

今日内容回向:

1 对上面的35行代码是否理解呢?

这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。

欢迎大家到我的自媒体平台沟通交流:公众号“NZ_9668”、社群“VBA学习交流群”、头条号“VBA专家”,百家号“VBA与GO语言”。

工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值