在Excel中如何重新排序用於創建圖表?在Excel中重新排列圖表數據系列
例如,我轉到圖表,右鍵單擊>選擇數據。在左欄中我看到了系列1,系列2,...,系列n。說,我想在系列4之後移動系列3,它能從圖表視圖中完成嗎?我不想移動工作表中的數據單元格。
我正在使用Excel 2011(mac os x)。
在Excel中如何重新排序用於創建圖表?在Excel中重新排列圖表數據系列
例如,我轉到圖表,右鍵單擊>選擇數據。在左欄中我看到了系列1,系列2,...,系列n。說,我想在系列4之後移動系列3,它能從圖表視圖中完成嗎?我不想移動工作表中的數據單元格。
我正在使用Excel 2011(mac os x)。
選擇一個系列,並期待在公式欄中。最後一個參數是該系列的繪圖順序。您可以像在公式欄中一樣編輯此公式。
例如,選擇系列4,然後更改4至3
不錯!除了,如果你有「n」系列,你不能去n + 1; Excel讓你保持「n」。我的條形圖有一對帶有空格的列,並且我不能使用這個來添加最後兩對對的空格b/n,但這太棒了!謝謝! – 2011-03-09 16:27:40
這些是按鈕UP/DOWN
謝謝。不幸的是,它們從Mac版本中丟失。嘆。 – 2011-03-02 14:54:27
這在2010年的Windows版本中效果很好。這比試圖操作公式要好得多。在2010年,您可以通過右鍵單擊圖表上的任意位置並選擇「選擇數據」來實現此目的。在辦公室裏教別人很容易,也很容易。 – Nigel 2014-08-07 17:30:58
右擊圖表上的任何系列。在「格式數據系列」對話框中,有一個「序列順序」選項卡,您可以在其中上下移動系列。我發現這比系列公式的最後一個參數擺弄得容易得多。
這是在Windows 2003中的Excel 2003中。有在Excel 2011類似的對話框爲Mac:
我認爲這是比接受的答案更好的解決方案。 – theodorton 2014-01-18 00:01:28
要改變一系列的順序在Excel 2010中:
見下
使用下面的代碼,如果你使用的是2007或2010的Excel,並且只希望重新排序的傳說。確保mChartName與圖表名稱匹配。
Sub ReverseOrderLegends()
mChartName = "Chart 1"
Dim sSeriesCollection As SeriesCollection
Dim mSeries As Series
With ActiveSheet
.ChartObjects(mChartName).Chart.SetElement (msoElementLegendNone)
.ChartObjects(mChartName).Chart.SetElement (msoElementLegendRight)
Set sSeriesCollection = .ChartObjects(mChartName).Chart.SeriesCollection
For Each mSeries In sSeriesCollection
If mSeries.Values(1) = 0.00000Or mSeries.Values(1) = Empty Then
mSeries.Delete
End If
Next mSeries
LegendCount = .ChartObjects(mChartName).Chart.SeriesCollection.Count
For mLegend = 1 To LegendCount
.ChartObjects(mChartName).Chart.SeriesCollection.NewSeries
.ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Name = .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount - mLegend + 1).Name
.ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Values = "={0.000000123}"
.ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Format.Fill.ForeColor.RGB = .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount - mLegend + 1).Format.Fill.ForeColor.RGB
Next mLegend
For mLegend = 1 To LegendCount
.ChartObjects(mChartName).Chart.Legend.LegendEntries(1).Delete
Next mLegend
End With
End Sub
要更改堆疊順序系列在圖表Excel中下for Mac 2011中:
我對二級軸的三個系列的情節,我想該系列頂部被卡在底部的中無視移和下移按鈕。它碰巧被格式化爲標記只。我插入一行,並presto(!),我可以改變它在劇情中的順序。後來我可以刪除這條線,有時它仍然可以訂購,但有時候不能。
該函數獲取系列名稱,將它們放入一個數組中,對數組進行排序並基於此定義繪製順序,從而得到所需的輸出。
Function Increasing_Legend_Sort(mychart As Chart)
Dim Arr()
ReDim Arr(1 To mychart.FullSeriesCollection.Count)
'Assigning Series names to an array
For i = LBound(Arr) To UBound(Arr)
Arr(i) = mychart.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)
mychart.FullSeriesCollection(Arr(i)).PlotOrder = i
Next i
End Function
https://stackoverflow.com/questions/43546534/how-to-sort-legend-of-a-chart-in-vba – Masoud 2017-06-30 20:41:58
更新自己當你問(我之前編輯它),對於這類問題的適當地方是超級用戶,因爲它不涉及代碼。 – 2011-08-08 16:39:43