我正在尝试使用以下宏,但只想在包含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
部分。我做错了什么?