如何在VBA中对图表图例进行排序
我试图整理我的传奇故事,却找不到任何可靠的答案。在这里,您可以了解如何手动执行此操作。还有,那里贴了一个代码,这对我来说不起作用,而且对于这样的任务来说太复杂了。基本上,我们正在尝试自动化下图所示的内容 我发布此文件是为了记录我对此问题的解决方案。如果你有相同的问题,请提出你的答案或查阅我的答案如何在VBA中对图表图例进行排序,vba,excel,charts,legend,Vba,Excel,Charts,Legend,我试图整理我的传奇故事,却找不到任何可靠的答案。在这里,您可以了解如何手动执行此操作。还有,那里贴了一个代码,这对我来说不起作用,而且对于这样的任务来说太复杂了。基本上,我们正在尝试自动化下图所示的内容 我发布此文件是为了记录我对此问题的解决方案。如果你有相同的问题,请提出你的答案或查阅我的答案 此代码获取序列名称,将其放入数组中,对数组进行排序,并基于此定义打印顺序,从而提供所需的输出。您可以将ActiveChart更改为图表名称,使其更加明确。请随意应用任何改进 Sub Sorting_Le
此代码获取序列名称,将其放入数组中,对数组进行排序,并基于此定义打印顺序,从而提供所需的输出。您可以将
ActiveChart
更改为图表名称,使其更加明确。请随意应用任何改进
Sub Sorting_Legend()
Dim Arr()
ReDim Arr(1 To ActiveChart.FullSeriesCollection.Count)
'Assigning Series names to an array
For i = LBound(Arr) To UBound(Arr)
Arr(i) = ActiveChart.FullSeriesCollection(i).Name
Next i
'Bubble-Sort (Sort the array in increasing order)
For r1 = LBound(Arr) To UBound(Arr)
rval = Arr(r1)
For r2 = LBound(Arr) To UBound(Arr)
If Arr(r2) > rval Then 'Change ">" to "<" to make it decreasing
Arr(r1) = Arr(r2)
Arr(r2) = rval
rval = Arr(r1)
End If
Next r2
Next r1
'Defining the PlotOrder
For i = LBound(Arr) To UBound(Arr)
ActiveChart.FullSeriesCollection(Arr(i)).PlotOrder = i
Next i
End Sub
子排序_图例()
Dim-Arr()
ReDim Arr(1到ActiveChart.FullSeriesCollection.Count)
'将序列名称分配给数组
对于i=LBound(Arr)到UBound(Arr)
Arr(i)=ActiveChart.FullSeriesCollection(i).Name
接下来我
'气泡排序(按递增顺序对数组排序)
r1=LBound(Arr)至UBound(Arr)
rval=Arr(r1)
r2=LBound(Arr)至UBound(Arr)
如果Arr(r2)>rval,则将“Change”>“改为”此代码获取序列名称,将它们放入一个数组中,对数组进行排序,并根据该数组定义将给出所需输出的打印顺序。您可以将ActiveChart
改为图表名称,使其更加明确。请随意应用任何改进
Sub Sorting_Legend()
Dim Arr()
ReDim Arr(1 To ActiveChart.FullSeriesCollection.Count)
'Assigning Series names to an array
For i = LBound(Arr) To UBound(Arr)
Arr(i) = ActiveChart.FullSeriesCollection(i).Name
Next i
'Bubble-Sort (Sort the array in increasing order)
For r1 = LBound(Arr) To UBound(Arr)
rval = Arr(r1)
For r2 = LBound(Arr) To UBound(Arr)
If Arr(r2) > rval Then 'Change ">" to "<" to make it decreasing
Arr(r1) = Arr(r2)
Arr(r2) = rval
rval = Arr(r1)
End If
Next r2
Next r1
'Defining the PlotOrder
For i = LBound(Arr) To UBound(Arr)
ActiveChart.FullSeriesCollection(Arr(i)).PlotOrder = i
Next i
End Sub
子排序_图例()
Dim-Arr()
ReDim Arr(1到ActiveChart.FullSeriesCollection.Count)
'将序列名称分配给数组
对于i=LBound(Arr)到UBound(Arr)
Arr(i)=ActiveChart.FullSeriesCollection(i).Name
接下来我
'气泡排序(按递增顺序对数组排序)
r1=LBound(Arr)至UBound(Arr)
rval=Arr(r1)
r2=LBound(Arr)至UBound(Arr)
如果Arr(r2)>rval,则将“更改”>”改为“这将完成任务,但如果您能想出更好的方法,请在此处发布。这将完成任务,但如果您能想出更好的方法,请在此处发布。