代码行 Range.PivotCell 在 Excel 2013 而不是 Excel 2017 中导致错误 (1004)
Code Line Range.PivotCell is causing an error (1004) in Excel 2013 but not Excel 2017
下面的代码在 Excel 2016 上运行良好,但在 'If (Not Rng.Pivotcell'
上给我一个对象定义 1004 错误
Microsoft 脚本运行时作为参考处于活动状态。那之前为我修复了一个 1004 错误,但是对于这个错误,我不知所措。
''Returns true if the column belongs to a pivot or not
Public Function ColumnBelongsToAPivot(ByVal ColumnLetter As String, ByVal RowIndex As Long, ByVal UseSheet As Worksheet) As Boolean
ColumnBelongsToAPivot = False
On Error GoTo Bye:
Dim X1 As Long
Dim ColumnRange1 As Range
Dim Rng As Range
Set Rng = UseSheet.Range(ColumnLetter & RowIndex)
If (Not Rng.PivotCell Is Nothing) Then
ColumnBelongsToAPivot = True
Else
ColumnBelongsToAPivot = False
End If
Bye:
End Function
当 Rng
不在枢轴 table 中时调用 Rng.PivotCell
将触发 运行 时间错误:该错误应由您的 On Error GoTo Bye
,因此,如果您仍然遇到错误,则可能是您将 VBA 错误处理选项设置为“Break on all errors”。
下面的代码在 Excel 2016 上运行良好,但在 'If (Not Rng.Pivotcell'
上给我一个对象定义 1004 错误Microsoft 脚本运行时作为参考处于活动状态。那之前为我修复了一个 1004 错误,但是对于这个错误,我不知所措。
''Returns true if the column belongs to a pivot or not
Public Function ColumnBelongsToAPivot(ByVal ColumnLetter As String, ByVal RowIndex As Long, ByVal UseSheet As Worksheet) As Boolean
ColumnBelongsToAPivot = False
On Error GoTo Bye:
Dim X1 As Long
Dim ColumnRange1 As Range
Dim Rng As Range
Set Rng = UseSheet.Range(ColumnLetter & RowIndex)
If (Not Rng.PivotCell Is Nothing) Then
ColumnBelongsToAPivot = True
Else
ColumnBelongsToAPivot = False
End If
Bye:
End Function
当 Rng
不在枢轴 table 中时调用 Rng.PivotCell
将触发 运行 时间错误:该错误应由您的 On Error GoTo Bye
,因此,如果您仍然遇到错误,则可能是您将 VBA 错误处理选项设置为“Break on all errors”。