图表扩展的宏,仅在某些命名图表上

时间:2017-12-05 20:57:32

标签: excel vba excel-vba charts

我正在尝试使用以下宏,但只想在包含13个图表的工作表中的特定4个图表上使用它。我需要跳过除了图表6,7,9和10之外的所有图表。我已经尝试了但在下一行Type Mismatch出现If grph.Name = "Chart 1" Or "Chart 2" Or "Chart 3" Then错误。知道为什么它不会让我跳过这些图表?代码如下,谢谢你的帮助。

 Sub ENDSTART_POINT_Chart_Extender()

'PURPOSE: Extend horizontally all Chart Series in ActiveSheet by X number of 
columns (can decrease as well)

Dim Rng_Extension As Integer
Dim Series_Formula As String
Dim StartPoint As String
Dim EndPoint As String
Dim CommaSplit As Variant
Dim ColonSplit As Variant
Dim grph As ChartObject
Dim ser As Series
Dim sht As Worksheet


'Determine the length of the extension (in cells)
 On Error GoTo BadEntry
  Rng_Extension = InputBox( _
  "How many cells do you want to extend your chart's series?", _
  "Chart Extender")
  On Error GoTo 0

 'Loop Through Each chart in the ActiveSheet
 For Each grph In ActiveSheet.ChartObjects
 For Each ser In grph.Chart.SeriesCollection

 If grph.Name = "Chart 1" Or "Chart 2" Or "Chart 3" Then
 Exit For
 End If

'Skip if Series is named "ACTUALS"
 If ser.Name = "ACTUALS" Then
Exit For
End If



  'Test to make sure not XY Scatter Plot Series
    If ser.ChartType <> 75 Then
      'Get range of series
        Series_Formula = ser.Formula

      'X Axis Values
        CommaSplit = Split(Series_Formula, ",") 'Delimit by comma

        If InStr(1, CommaSplit(2), ":") = 0 Then
        Exit For
        End If

        ColonSplit = Split(CommaSplit(2), ":")  'Delimit 3rd part by colon

        StartPoint = ColonSplit(0)  'Starting Point of Range

        EndPoint = ColonSplit(1)    'Current Ending Point Range

        StartPoint = Range(StartPoint).Offset(0, Rng_Extension).Address 
   'Extended Ending Point Range

        EndPoint = Range(EndPoint).Offset(0, Rng_Extension).Address 
  'Extended Ending Point Range

        ser.Values = ActiveSheet.Range(StartPoint & ":" & EndPoint) 'Combine 
    Start and End Point & Set Series = To It


       End If
    Next ser
  Next grph

  'Completion Message
   MsgBox "Your chart has been Extended by " & Rng_Extension & " positions."

 Exit Sub

 'Error Handling
 BadEntry:
  MsgBox "Your input must be a whole number, aborting", vbCritical, 
 "Improper Entry"

End Sub

我认为命名每个图表后Exit For会将其发送到Next grph部分。我做错了什么?

0 个答案:

没有答案