【问题标题】:adding colored vertical band to excel chart programatically using vba macro使用 vba 宏以编程方式将彩色垂直带添加到 Excel 图表
【发布时间】:2012-01-02 07:05:01
【问题描述】:

我正在尝试使用 vba 宏以编程方式将彩色垂直带添加到 Excel 中的图表。

我有一个图表,其中包含一些从 1 到 50 的数字 x 轴,我想添加一个从 1 到 10 的彩色垂直带和另一个从 10 到 20 的具有不同颜色的垂直带,依此类推。

任何帮助或线索

【问题讨论】:

    标签: excel vba graph


    【解决方案1】:

    此解决方案使用图像作为绘图区域背景。

    这行代码设置了背景图片。请务必根据需要更新工作表参考、图表名称和文件名。

    ActiveSheet.ChartObjects("Chart 1").Chart.PlotArea.Format.Fill.UserPicture "C:\background.png"
    

    我使用 MS Paint 来创建所需的各种背景图像。步骤如下:

    1. 创建一个新文件并将属性设置为 1 像素高和 X 像素宽,其中 X 是您需要的波段数。

    2. 将缩放设置为尽可能大。

    3. 使用铅笔工具,根据需要为每个像素着色条带 出现。

    4. 将图像水平和垂直调整 500%;这样做2-3次 获得足够大的图像,因此不必在 图表。 (注意:让它变小会产生彩色条的混合 这可能是可取的。)

    5. 保存文件。

    如果您的图表将绘制可变数量的点,请准备几张背景图片,然后在您的代码中选择合适的一张。

    【讨论】:

    • 您也可以通过添加多个系列来实现(您可以通过编程方式实现)。这是创建水平带的链接 (peltiertech.com/WordPress/excel-charts-with-horizontal-bands),您可以轻松地对其进行修改以创建垂直带。
    • 我从另一个文件中读取水平数据的问题。所以彩色垂直带应该是动态的,甚至带上颜色的排列也可能不同,即在图表中,红色可能在蓝色带之前,反之亦然
    • Jon Peltier 有一个垂直带的例子:http://peltiertech.com/Excel/Charts/ColoredVerticalBand.html。但是,他的示例以浮动条格式显示数据,我可以说没有办法替代折线图或散点图格式。如果该格式可以接受,他的解决方案可以翻译成 VBA。
    • 但 Jon Peltier 没有解释如何以编程方式进行
    • 我的教程Highlight Certain Time Periods in a Chart 展示了如何在折线图中应用垂直带来突出显示时间段(本例中为周末)。您需要以编程方式设置数据,并将此数据设置为图表,将添加数据的图表类型更改为间隙宽度为零的聚集列。
    猜你喜欢
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 2023-01-25
    • 2014-05-04
    • 1970-01-01
    相关资源
    最近更新 更多