系统:Windows 7
软件:Excel 2010
- 这个系列作为入门篇的下一篇,稍微进阶一下,嘿嘿
- 今天继续
VBA
对图表的操作,折线图作为示例- 研究研究着发现
VBA
中对象的概念简直醉
Part 1:目标
- 为了方便调试,写了一段代码自动删除所有图表
- 完成对一个折线图其中的一条线进行设置
- 线条颜色设置
- 线型设置
- 数据标记选项设置
- 数据标记填充
- 标记线颜色设置
- 整体代码的设置,采用手动设置的话,可选中需设置线条,右键设置数据系列格式即可,如下图
右键效果
最终运行后效果
Part 2:代码
Sub test()
Set sht1 = ThisWorkbook.Worksheets("示例")
x = sht1.Range("I1").Left
y = sht1.Range("I1").Top
w = sht1.Range("I1").Width
h = sht1.Range("I1").Height
Set ch1 = sht1.ChartObjects.Add(x, y, w, h)
'chart方法
ch1.Chart.SetSourceData Source:=sht1.Range("A2:G4")
ch1.Chart.SetElement (msoElementDataLabelOutSideEnd)
ch1.Chart.SetElement (msoElementChartTitleNone)
ch1.Chart.SetElement (msoElementLegendTop)
'chart属性
ch1.Chart.ChartType = xlLineMarkers
Set line1 = ch1.Chart.SeriesCollection("y")
'设置其中的一条线
With line1
.MarkerStyle = xlMarkerStyleCircle
.MarkerSize = 7
End With
With line1.Format.Line '设置线条颜色
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0) '红色
.DashStyle = msoLineDash
.Weight = 3
End With
'设置标记线颜色及填充色
line1.MarkerForegroundColor = RGB(0, 255, 0) '标记线颜色
line1.MarkerBackgroundColor = RGB(0, 0, 0) '填充色
End Sub
代码截图
Part 3:部分代码解读
Set line1 = ch1.Chart.SeriesCollection("y")
效果的话,类似选中其中的一条线,其中的y
为其图例名称MarkerStyle
设置数据标记选项,常见的选项如下图line1.MarkerForegroundColor
设置标记线颜色,即线条中那个圆圈外圆的颜色line1.MarkerBackgroundColor
设置标记填充色,即线条中那个圆圈圆内的填充颜色DashStyle = msoLineDash
设置线型Weight = 3
设置线的宽度- 对于标记的外圆的线条会默认保持与线条的线型与宽度一致
数据标记选项
Part 4:删除图表
- 文章中有些知识,我之前也是不知的,需要不断尝试,所以会画了很多图表,就想能不能一次清除,所以就有下面的代码
- 代码如下
Sub 清除()
Set sht1 = ThisWorkbook.Worksheets("示例")
n = sht1.ChartObjects.Count
If n > 0 Then
sht1.ChartObjects.Delete
End If
End Sub
以上为本次的学习内容,下回见
本文为原创作品,如若转载请标明出处,如发现有错误,欢迎留言指出
更多原创请关注微信公众号
扫描二维码,关注公众号
让重复工作一键化,让时间更有意义