我正在使用Excel 2013记录宏,以创建折线图。
我有一个包含年份的列和一个相邻的包含人口值的列。列标题分别是“年份”和“人口”。
折线图看起来不错。
当我运行宏时,图表标题(人口)被去掉。此外,年值(x轴)被替换为数字系列1。。。继续前进
如何让宏保留年份值和图表标题(人口)?
谢谢!
这是我录制的宏
Range("A1:B29").Select
ActiveWindow.WindowState = xlMaximized
ActiveSheet.Shapes.AddChart2(227, xlLineMarkers).Select
ActiveChart.SetSourceData Source:=Range("compilation!$A$1:$B$29")这是我想要的最终图形在运行宏时的样子的一个示例。

发布于 2016-04-20 21:37:30
将以下行添加到宏的最后一行
ActiveChart.FullSeriesCollection(1).XValues = "=compilation!$A$2:$A$29"这应该会让你的一年回到谷底。
ActiveChart.SetElement (msoElementChartTitleAboveChart)
ActiveChart.ChartTitle.Select
Selection.Caption = "=compilation!R1C2"这将为您设置头衔。然而,你仍然需要你的主要水平标题,所以为什么我们不加入这个tid随机代码:
ActiveChart.Axes(xlCategory).Select
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
Selection.Caption = "=compilation!R1C1"现在唯一悬而未决的问题是,如果你在你的图表中生成1条或2条线。
为了去掉第二行(从技术上讲是第一行,因为它是真正的系列1),我们有两个选择。
选择1是用代码选择它,然后删除它。不过,我还是会选择第二个选项。第二种选择是从一开始就不要添加它!
因此,首先要消除你的宏的第一行。当最初创建图形时,由于没有预先选择的数据,它将被创建为空白石板。所以我们需要做的是在定义Source的宏行中更改1个字母。(你发布的代码的第四行),我们将把起始单元格的引用从$A$1改为$B$1。如果图形只有一列数据来处理点,那么只能有一个系列。因此,该行的末尾将如下所示:
ActiveChart.SetSourceData Source:=Range("compilation!$B$1:$B$29")https://stackoverflow.com/questions/36736151
复制相似问题