Excel VBA错误“438”对象不支持此属性或方法

Excel VBA错误“438”对象不支持此属性或方法,excel,excel-formula,vba,Excel,Excel Formula,Vba,我想在VBA中使用这个复杂的公式,但是,我不断得到错误,Description是我的表中标题的名称之一,请帮我解决好吗?谢谢 现在它显示了两个错误,将表一直扩展到底部,错误1004 Sub StartChecking() 'Spacing Check and Auto Correct ActiveSheet.Range("O6").Formula = "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(DVDQC_Log[@Descripti

我想在VBA中使用这个复杂的公式,但是,我不断得到错误,Description是我的表中标题的名称之一,请帮我解决好吗?谢谢

现在它显示了两个错误,将表一直扩展到底部,错误1004

Sub StartChecking()

'Spacing Check and Auto Correct

ActiveSheet.Range("O6").Formula = "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE(DVDQC_Log[@Description], ""/"", "" / "")), ""C / O"", ""C/O""), "" -"", ""-""), ""- "", ""-"")"    
Columns("O:O").EntireColumn.AutoFit
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("F6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
Application.CutCopyMode = False

'Pass or Fail Check

ActiveSheet.Range("P6").Formula = "=IF([DVDQC_Log[@Needed Revisions]]="", ""PASSED"", ""FAILED"")"
Columns("I:I").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$I1<>$P1"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorAccent2
    .TintAndShade = 0.399945066682943
End With
Selection.FormatConditions(1).StopIfTrue = False
Range("DVDQC_Log[[#Headers],[Notes]]").Select
Selection.Copy
Range("DVDQC_Log[[#Headers],[Pass/Fail]]").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Application.CutCopyMode = False
ActiveWorkbook.Names.Add Name:="Address_ID", RefersToR1C1:= _
    "=DVDQC_Log[Address_ID]"
ActiveWorkbook.Names("Address_ID").Comment = ""
Columns("N:N").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=LEN(TRIM(N1))=0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorAccent2
    .TintAndShade = 0.399945066682943
End With
Selection.FormatConditions(1).StopIfTrue = False
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A6").Select
End Sub

基本上,你把一个公式放入一个单元格或一系列单元格中;不要将其放入工作表中。看起来您的代码是根据复制粘贴操作改编的,您可以将其粘贴到ActiveSheet的默认ActiveCell中

如果O6是表中描述为列名之一的单元格之一,则

Sub StartChecking()

    ActiveSheet.Range("O6").Formula = _
        "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(SUBSTITUTE([@Description], ""/"", "" / "")), ""C / O"", ""C/O""), "" -"", ""-""), ""- "", ""-"")"
    ...
   Range(Range("O6"), Range("O6").End(xlDown)).Select
     ...
    ActiveSheet.Range("P6").Formula = _
        "=IF([DVDQC_Log[@Needed Revisions]]=text(,), ""PASSED"", ""FAILED"")"

End Sub

如果O6不是表中的单元格之一,则您还需要在[@Description]引用中包括表名,如表1[@Description]。

您好,非常感谢您的帮助。我今天尝试了你的建议,但是它显示出另外两个错误,你有时间的时候能帮我看看吗?我将整个代码更新到了问题区域。有两个错误是此表在工作表中插入了行。这可能会导致表格下方单元格中的数据下移。和运行时错误“1004”应用程序定义或对象定义error@BMWSLAMDUNK-我想我已经用上面的更正弥补了你的另外两个错误。您需要仔细阅读代码并删除所有不必要的内容,例如ActiveWindow.ScrollColumn=。此外,提供一个叙述,逐步描述代码的意图。