【发布时间】:2019-12-02 14:57:36
【问题描述】:
我很茫然,不确定是否有办法做到这一点。
我有一个带有数据标签的图表。数据标签标题链接到单元格值。对于每个数据标签,我需要获取作为标题来源的单元格的地址。
数据标签源是使用格式数据标签属性管理器手动设置的。
不幸的是,我尝试过的所有操作都只返回标题的文本值 - 没有什么能给我所需的单元格地址。
例如,当我运行以下命令时,我得到所有这些行的相同值 - 它只是打印标题中的文本。
我可以使用dl.parent.parent.formula 获取整个系列的单元格范围($H$9:$H$22),但我需要的是每个数据标签的特定单元格地址(即第一个标签:$H$9,第二个标签:$H$10 等)
Private Sub test()
Dim C As Chart
Dim w As Worksheet
Set w = Sheet2
Set C = Sheet2.ChartObjects("Chart 1").Chart
Dim dl As DataLabel
For Each dl In C.FullSeriesCollection(2).DataLabels
Debug.Print dl.Text
Debug.Print dl.Caption
Debug.Print dl.Formula
Debug.Print dl.FormulaLocal
Debug.Print dl.FormulaR1C1
Debug.Print dl.FormulaR1C1Local
Next
End Sub
【问题讨论】:
-
您是否尝试将字幕更改为:=CELL("address";A1)?
-
嘿,Daghan,我没有。我可能会遗漏一些东西,但那不会设置标题来源吗?我不想更改标题的来源 - 我只想获取当前来源的地址。希望这是有道理的!
-
你想对每个单元格地址做什么?您应该能够从系列公式中循环遍历单元格范围。我不确定是否有更简单的方法。
-
这是一个条形图。我想将条形的颜色设置为源单元格的颜色。我可能会尝试这种方法。我可以在我的 for/each 循环中添加一个计数器,并使用计数器从源范围中选择单元格来索引...
-
或者你可以循环源范围,但是几乎相同的想法。我最近answered了一个涉及轻松获取源范围的问题。