簡體   English   中英

將宏應用於工作表中的每個圖表

[英]Apply macro for every chart in the worksheet

我有這個宏,我希望可以在活動工作表的每個圖表中運行它

Sub ColorRangeValues()
    Dim i As Long
    ActiveSheet.ChartObjects(1).Activate
    For i = 1 To ActiveChart.SeriesCollection.Count
        With ActiveChart.SeriesCollection(i)
             Values_Array = .Values
             For j = LBound(Values_Array, 1) To UBound(Values_Array, 1)
                 Select Case Values_Array(j)
                        Case Is < Range("B7")
                             .Points(j).Interior.Color = RGB(217, 0, 0)
                        Case Is > Range("B8")
                             .Points(j).Interior.Color = RGB(0, 128, 0)
                        Case Else
                              .Points(j).Interior.Color = RGB(192, 192, 192)
                 End Select
             Next
        End With
    Next
End Sub

嘗試將每個chartobject參數更改為a,但我搞砸了所有內容...

您可以這樣做:

Sub ColorRangeValues()
    Dim i                     As Long
    Dim oChtObj               As ChartObject

    For Each oChtObj In ActiveSheet.ChartObjects
        With oChtObj.Chart
            For i = 1 To .SeriesCollection.Count
                With .SeriesCollection(i)
                    Values_Array = .Values
                    For j = LBound(Values_Array, 1) To UBound(Values_Array, 1)
                        Select Case Values_Array(j)
                            Case Is < Range("B7")
                                .Points(j).Interior.Color = RGB(217, 0, 0)
                            Case Is > Range("B8")
                                .Points(j).Interior.Color = RGB(0, 128, 0)
                            Case Else
                                .Points(j).Interior.Color = RGB(192, 192, 192)
                        End Select
                    Next
                End With
            Next
        End With
    Next
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM