我想改变从“价值”“系列名称”堆积柱形图上的数据标签上VBA更改数据标签。堆积柱形图从“价值”“系列名称”
我也搜索了最好的,我可以在互联网的唯一途径上,我认为这是可以做到的使用VBA。我仍然是一个VBA小白所以任何帮助,将不胜感激
我想改变从“价值”“系列名称”堆积柱形图上的数据标签上VBA更改数据标签。堆积柱形图从“价值”“系列名称”
我也搜索了最好的,我可以在互联网的唯一途径上,我认为这是可以做到的使用VBA。我仍然是一个VBA小白所以任何帮助,将不胜感激
去到Excel中,我选择图表我想编辑,然后转到图表工具选择的所有标签>添加图表元素>数据标签>更多数据标签选项
接下来,我取消我不希望在我的标签任何选项,并检查这些我确实想,在我刚打开的对话框中的“标签选项”。
这对我来说工作正常,但如果它不适合你,或者你的一些其他原因想要编辑通过VBA标签,这个脚本片段设置一个给定的图表的标签系列名称:
Option Explicit
Sub Macro1()
With ThisWorkbook.Worksheets("Grafar, utvikling").ChartObjects("Graf3").Chart.FullSeriesCollection(2)
If Not .HasDataLabels Then
.ApplyDataLabels
End If
If Not .DataLabels.ShowSeriesName Then
.DataLabels.ShowSeriesName = True
End If
End With
End Sub
显然你需要切换worksheetnames,图名等任何你有你的图表中 - 它不应该是很难搞清楚,但是,如果您有任何麻烦感觉如果您有任何问题,请自由评论这个问题。
我通过使用宏录制,然后编辑结果创建的宏,它往往可以给你试图做什么任务一个很好的起点。根据我的经验,通过这种方式可以更容易地找出Excel-VBA中的对象名称/结构,而不是试图从头开始。
考虑到上述情况,你想要的东西没有做,我怀疑你的图表中的每个列是一个系列。要快速显示SeriesName
图表中的每个dataseries,尝试在图表中遍历所有系列:
Sub Macro1()
Dim se As Series
For Each se In ThisWorkbook.Worksheets("Grafar, utvikling").ChartObjects("Graf3").Chart.SeriesCollection
If Not se.HasDataLabels Then
se.ApplyDataLabels
End If
If Not se.DataLabels.ShowSeriesName Then
se.DataLabels.ShowSeriesName = True
End If
If se.DataLabels.ShowValue Then
se.DataLabels.ShowValue = False
End If
Next se
End Sub
喜Eirkdaude 感谢这样一个详细的答复。 这里是一个视频,展示你的两个解决方案发生了什么。 https://www.youtube.com/watch?v=gcjX3dHSF6M它确实说明一个更好的工作,然后发生了什么事我的文字下面 –
使用第一种方式,我去“图表工具>添加图表元素>数据标签>更多数据标签选项“,它最初将所有数据标签添加为”值“和”显示引导线“。当我去改变它们时,没有办法选择所有的数据标签。我只能选择数据中具有相同列的标签。所以当我选择它们并将它们从“Value”改为“Series”时,只有那些我能够强调我可以改变的那些。 VBA宏有类似的结果。它只会更改其中一列数据的数据标签。 –
@JonathanDeWet我怀疑你的每一列可能是一个数据库 - 查看我的答案更新,看看你如何解决这个问题。如果我的答案对您有用,请注意并/或标记为解决您的问题。 – eirikdaude
不图中取消选中“值”,并检查“系列名称”左侧格式化对话框打开你的照片是否完全符合你的要求? http://i.imgur.com/Inpf80X.png – eirikdaude
出于某种奇怪的原因,您一次只能选择一个标签因此,当您改变它时,它只会改变您选择的标签。而且也没有办法选择和改变他们都喜欢这个 –