2017-08-17 93 views
2

我試圖使誤差條transparrent ...代碼工作,使誤差條上一個工作表一個圖表上透明的,但最好我會通過像這樣循環不同工作表上的多個Excel圖表...製作誤差線Excel圖表透明

Sub Macro2() 

Dim objCht As ChartObject 

For Each objCht In ActiveSheet.ChartObjects 
    ActiveChart.SeriesCollection(1).HasErrorBars = True 
    ActiveChart.SeriesCollection(1).ErrorBars.Select 
    With Selection.Format.Line 
     .Visible = msoTrue 
     .ForeColor.ObjectThemeColor = msoThemeColorText1 
     .ForeColor.TintAndShade = -0.0500000119 
     .ForeColor.Brightness = 0 
     .Transparency = 1 
    End With 
Next objCht 

End Sub 

回答

0

對於所有工作表,您只需要一個循環。事情是這樣的:

Dim objCht As ChartObject 

For Each ws In ThisWorkbook.Worksheets 

    For Each objCht In ws.ChartObjects 
    ActiveChart.SeriesCollection(1).HasErrorBars = True 
     ActiveChart.SeriesCollection(1).ErrorBars.Select 
     With Selection.Format.Line 
     .Visible = msoTrue 
     .ForeColor.ObjectThemeColor = msoThemeColorText1 
     .ForeColor.TintAndShade = -0.0500000119 
     .ForeColor.Brightness = 0 
     .Transparency = 1 
     End With 
    Next objCht 

Next ws 
+0

應該擺脫選擇/選擇....用'隨着ActiveChart.SeriesCollection(1)。 ErrorBars.Format.Line' – jsotola

+1

我知道這一點,但是這不是他的問題,我不想把他弄糊塗了很多他的代碼更改,他並沒有要求的。 – Moosli

+0

感謝您的幫助 - 如果我點擊每個表單來激活,代碼有效,但有沒有辦法循環遍歷所有工作表? – tj123

1

嘗試下面的代碼,就沒有必要使用Select

Sub Macro2() 

Dim objCht As ChartObject 
Dim ws As Worksheet 

' loop through sheets in this workbook 
For Each ws In ThisWorkbook.Worksheets 
    ' loop through Chartobjects in sheet 
    For Each objCht In ActiveSheet.ChartObjects 
     ' no need to select the chart or the series use With statement instead 
     With objCht.Chart.SeriesCollection(1) 
      .HasErrorBars = True 
      With .ErrorBars.Format.Line 
       .Visible = msoTrue 
       .ForeColor.ObjectThemeColor = msoThemeColorText1 
       .ForeColor.TintAndShade = -0.0500000119 
       .ForeColor.Brightness = 0 
       .Transparency = 1 
      End With 
     End With 
    Next objCht 
Next ws 

End Sub 
+0

你需要設置比任何其他透明度的屬性?還是你的意思是半透明的? – jsotola

+0

@jsotola這是我給出的答案,我想你的意思是發表你對這個帖子的評論 –