Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VBA中对图表图例进行排序_Vba_Excel_Charts_Legend - Fatal编程技术网

如何在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,则将“更改”>”改为“这将完成任务,但如果您能想出更好的方法,请在此处发布。这将完成任务,但如果您能想出更好的方法,请在此处发布。