更改系列的线条透明度而不影响Excel VBA中的标记透明度

时间:2012-03-01 22:22:11

标签: excel vba excel-vba transparency

我正在VBA中为excel写一个宏,我希望改变连接标记的行的透明度,但保留系列中标记的透明度。

指定:图表是散点图。我希望系列的标记不透明/零透明,系列中的线条透明度为75%。

我通过使用来调整线条的透明度  myseries.format.line.transparency = 0.75 但这也会改变标记的透明度。

有谁知道我可以分别改变两者透明度的方法?我想有一个会员/财产可以做我想做的事,但我找不到它。

提前感谢您的帮助!

4 个答案:

答案 0 :(得分:4)

这个答案不会让你很开心。

我之前已经研究过这个,我得到的信息是,这根本不是你可以通过VBA指定的参数。看起来您可以访问标记样式,大小,背景颜色和前景色,这就是它。

也许MS不认为有人会想弄乱那个。

您可以尝试的一件事是应用自定义图表格式,但如果您有可变数字和/或系列订单,则可能无效。

 mychart.ApplyChartTemplate ("filepath\filename.crtx")

类似的东西,mychart已经设置为等待你要格式化的图表。

再一次,也许对你没什么用处,我能想到的最好。

答案 1 :(得分:1)

你们这些人并没有那么努力。

SeriesCollection(i).Format.Line.Transparency

如果 SeriesObject处于某种状态,

将工作。原版'自动'线条样式状态阻止此vba首先执行任何操作,但如果您只是先在线条格式上设置某些其他属性,则透明度将采用。以下对我有用:

For Each obj In myChart.SeriesCollection
    obj.Format.Line.DashStyle = 1
    obj.Format.Line.Transparency = 0.65
Next obj

DashStyle = 1将线条样式设置为' Solid' (与虚线,虚线等相反)并且具有释放系列格式以设置透明度的副作用。我不确定它为什么会起作用,但确实如此。

答案 2 :(得分:0)

抱歉,我的错误。我读错了这个问题。

我发现如果我开始没有标记的行,那么单独转动透明度不会打开和关闭标记。

答案 3 :(得分:0)

尝试一下:

activechart.SeriesCollection(1).format.fill.transparency=0.5