【发布时间】:2016-12-13 07:16:10
【问题描述】:
我正在尝试为仪表板中的 excel 图表构建一些自定义主题。录制宏看看这些是如何实现的,宏录制了如下代码;
ActiveChart.ClearToMatchStyle
ActiveChart.ChartStyle = 268
我通过谷歌搜索了高和低以找到这些图表样式的列表,或任何有关如何自定义它们的文档。每次搜索都会返回图表类型常量的链接,即 xlLine、xlPie 等。而不是 Excel 功能区中“图表工具-设计”选项卡上可用的主题图表。
如果有人能指出我正确的方向,将不胜感激。
编辑:
对于这些图表样式常量,几乎没有文档可用,因此我创建了一个示例工作簿,其中所有图表样式类型都显示为饼图。在这里为您提供。至少在选择类型之前,您将获得图表的直观表示。
工作簿可以在这里查看,如果有人知道如何在帖子中添加可下载版本,请发表评论
您可以使用以下代码自己构建它,只需添加一个名为 ChartStyles 的工作表并创建一个名为 GolfRoundsPlayed 的数据表并使用此数据
一个月的比赛 1月42日 2 月 53 日 77 年 3 月 124 年 4 月 198 年 5 月 288 年 6 月 312 年 7 月 303 年 8 月 264 年 9 月 149 年 10 月 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
【问题讨论】:
-
@Robin Mackenzie... 怀疑我曾经发现给定标题是 AddChart2 VBA 宏中的数字代表什么?,提供可能答案的链接现在是一个电子付费预订
-
当然,没有标记为欺骗 - 只是为了将问题联系在一起而放入链接。这是同一个常数。
-
@Robin Mackenzie..谢谢..仍然找到关于这个主题的最少信息......但是我使用饼图构建了一个包含所有图表样式的示例工作簿,并且我已经编辑了帖子以包括一个指向它的链接,这样每个人都可以直观地了解每种样式的外观。