代码有效但未填充指定范围

Code works but does not fill in the specified range

代码正在运行,但在将 vlookup 复制到所有单元格(A1 到 A5)时停止。有人可以帮忙吗?非常感谢

  Sheets("RAW DATA FILE").Range("A1").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(IF(RC2=""customer account"",INDEX('FEED DATA'!C[3],match('RAW DATA FILE'!R[1]C2,'FEED DATA'!C[5],0)),""""),"""")"
    Range("A1").Select
    Selection.AutoFill Destination:=Range("A1:A5"), Type:=xlFillDefault
    Range("A1:A5").Select
    Range("A1").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(IF(RC2=""customer account"",INDEX('FEED DATA'!C4,match('RAW DATA FILE'!R[1]C2,'FEED DATA'!C6,0)),""""),"""")"
    Range("A1").Select

您应该尽可能避免使用 Select。您还需要限定您的范围。这意味着您应该包括 Workbook 和 Worksheet 否则您将使用任何 sheet 处于活动状态,这可能不是您想要的。这样做可以减少行数并使其更易于阅读。您可以重复其他行。

With ThisWorkbook.Sheets("RAW DATA FILE")
    .Range("A1") = "=IFERROR(IF(RC2=""customer account"",INDEX('FEED DATA'!C[3],match('RAW DATA FILE'!R[1]C2,'FEED DATA'!C[5],0)),""""),"""")"
    .Range("A1").AutoFill .Range("A1:A5")
End With