【问题标题】:Automatically adding photos to donut chart points based on point name in Excel using VBA使用 VBA 根据 Excel 中的点名称自动将照片添加到圆环图点
【发布时间】:2018-05-04 20:06:20
【问题描述】:

我是 VBA 的新手,我正在做一个项目来绘制一个显示多个不同品牌的同心圆环图。我正在尝试将品牌徽标自动附加到甜甜圈图的外环。我的想法是有一个循环首先用品牌名称命名系列中的每个点,第二个循环引用包含徽标的文件位置,找到相应的徽标并将该徽标粘贴到该点中。

我发现了一些关于如何在饼图上命名点的先前问题/答案,但我似乎无法让它们中的任何一个在我的圆环图上工作。我设法使用

将单个命名图片从文件位置复制到单个图表点
ActiveChart.SeriesCollection("Brand").Points(1).Format.Fill.UserPicture ("C:...\Abrand.JPG")

但这不是很复杂,我不知道如何将其放大以自动将任何徽标粘贴到相应的点。

任何帮助都将不胜感激,因为我是新手,如果你能注释你所做的事情,这样我就可以学习,我也会非常感激!

【问题讨论】:

    标签: excel vba photo labels donut-chart


    【解决方案1】:

    如果您可以将标签值映射到徽标名称,则可以执行以下操作:

    Dim BrandChart As Chart
    Set BrandChart = ActiveChart
    
    Dim Brand
    Dim i As Integer
    
    i = 0
    For Each Brand In BrandChart.SeriesCollection("Brand").XValues
        i = i + 1
        BrandChart.SeriesCollection("Brand").Points(i).Format.Fill.UserPicture "c:\...\" & Brand & ".jpg"
    Next
    

    【讨论】:

    • 谢谢山姆!就这样我明白了,文件地址中品牌周围的“ & ... & ”是什么意思?我正在尝试尽可能多地学习 =)
    • 是字符串连接运算符。它将字符串连接在一起。预期的结果是文件路径以文件夹开头,然后是品牌名称,以 .jpg 结尾。这依赖于与您列表中的品牌同名的徽标文件。
    • 我似乎无法让它工作?我检查了其他一切正常,点标记正确,但连接运算符导致错误消息。目前照片的文件名只是品牌名称,所以这应该行不通?
    • 啊,现在可以了!我不确定它为什么有效,但它确实有效。非常感谢您的帮助山姆!也有一个愉快的周末=)
    猜你喜欢
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    相关资源
    最近更新 更多