我正在尝试为仪表板中的Excel图表构建一些自定义主题 . 在记录宏以查看它们是如何实现时,宏记录了以下代码;
ActiveChart.ClearToMatchStyle
ActiveChart.ChartStyle = 268
我通过谷歌搜索高低,找到这些图表样式的列表,或任何有关如何自定义它们的文档 . 每次搜索都会返回图表类型常量的链接,即xlLine,xlPie等 . 不是Excel功能区中“图表工具 - 设计”选项卡上可用的主题图表 .
如果有人能指出我正确的方向,我将不胜感激 .
EDIT:
这些图表样式常量的文档很少甚至没有,因此我创建了一个示例工作簿,其中所有图表样式类型都显示为饼图 . 它在这里可用 . 至少在选择类型之前,您将拥有图表的直观表示 .
可以在这里查看工作簿,如果有人知道如何在帖子中添加可下载的版本请评论
您可以使用以下代码自行构建它,只需添加名为ChartStyles的工作表并创建名为GolfRoundsPlayed的数据表并使用此数据
月轮播放1月42日2月53日3月77 4月124 5月198 6月288 7月312 8月303 9月264 10月149 11月54 12月33日
Sub BuildChartStyleSheet()
Dim targetChart As Chart
Dim targetSheet As Worksheet
Dim top As Long
Dim x As Integer, chtTitle As String
top = 15
Dim dataRange As Range
Set dataRange = Range("GolfRoundsPlayed")
Set targetSheet = Sheets("ChartStyles")
Application.ScreenUpdating = False
For x = 1 To 353
If x > 1 Then top = top + 128
On Error Resume Next
Set targetChart = targetSheet.Shapes.AddChart2(x, xlPie, 2, top, 230, 125).Chart
chtTitle = "ChartStyle for ChartStyle #" & x
With targetChart
.SetSourceData Source:=dataRange
.chartTitle.Text = chtTitle
.chartTitle.Format.TextFrame2.TextRange.Font.Size = 11
End With
Next x
Application.ScreenUpdating = True
End Sub
1 回答
进一步评论MSDN:
我的测试显示201到352的范围也是有效的 . 这适用于所有图表类型 .
创建一个Excel工作簿看起来像这样 - 注意我已经添加了一个图表,所以
ws.ChartObjects(1)
可以引用一些东西:运行此代码 - 您可以使用
Stop
来查看更详细的内容 .GetChartTypes
的代码基于此表:HTH