我的圖表中有多個資料系列,我希望圖表中大約 55 條線的每條線根據我的選擇具有不同的粗細。我看過下面的宏可以一次調整所有線條的粗細。
Sub SetWeights()
Dim srs As Series
For Each srs In ActiveSheet.ChartObjects("Chart 1").Chart.SeriesCollection
srs.Format.Line.Weight = 0.75
Next
End Sub
有什麼方法(巨集)可以讓每條線具有不同的粗細(如 Excel 工作表中的一列所定義)?
是否有任何類似的方法可以一次更改線條顏色和標記類型(不需要每條線使用不同的標記)?
答案1
是的,您可以設定線條粗細和顏色的格式。
此程式碼應格式化系列 2:
Sub SetWeights()
ActiveChart.SeriesCollection(2).Select
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(107, 197, 135)
.Weight = 1
End With
End Sub
您可以修改程式碼以循環遍歷每個系列,並且每次讀取不同的顏色和重量。
您可以透過新增以下行來變更標記類型:
.MarkerStyle = -4142
此處列出了標記樣式的選項: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/series-markerstyle-property-excel
答案2
好的,下面的宏(從https://stackoverflow.com/questions/32437999/auto-adjust-excel-chart-line-weights-with-a-loop)回答了我原來的問題。
Sub SetWeights()
Dim Srs As Series
Dim myWeight As Range
Dim £w As Range
Dim j As Long
Set myWeight = Range("Weights")
j = 1
With ActiveSheet
For Each £w In myWeight
If j > ActiveChart.SeriesCollection.Count Then Exit Sub
ActiveChart.SeriesCollection(j).Format.Line.Weight = £w
j = j + 1
Next £w
End With
End Sub
……我可以繪製這樣的圖表: 能畫這個
任何人都可以對這個巨集進行任何修改,以便我能夠擁有這樣的圖表嗎?
謝謝你!