Vba 自动填充公式

Vba 自动填充公式,vba,excel,excel-formula,Vba,Excel,Excel Formula,因此,我试图让excel在F列中自动填充一个公式,将a列中的值(F列和a列都在标记为“PMG”的工作表中)与另一个工作表(“Sheet1”)中a列中的值进行比较。以下是我所拥有的: ThisWorkbook.Sheets("PMG").Range("F2").Formula = "=VLOOKUP(A2,Sheet1!A:A,1,FALSE)" ThisWorkbook.Sheets("PMG").Range("F2", "F" & Cells(Rows.Count, 1).

因此,我试图让excel在F列中自动填充一个公式,将a列中的值(F列和a列都在标记为“PMG”的工作表中)与另一个工作表(“Sheet1”)中a列中的值进行比较。以下是我所拥有的:

   ThisWorkbook.Sheets("PMG").Range("F2").Formula = "=VLOOKUP(A2,Sheet1!A:A,1,FALSE)"
   ThisWorkbook.Sheets("PMG").Range("F2", "F" & Cells(Rows.Count, 1).End(xlUp).Row).FillDown
此代码最初在此处找到:

我遇到的问题是,只有在“Sheet1”A列中填充单元格时,自动填充才会下降,而不是在“PMG”A列中填充单元格时下降。因此,不是用公式自动填充180行,而是只填充大约80行


谢谢你的帮助

尝试用With块包装,以确保始终使用正确的纸张

Option Explicit
Public Sub test()
    With ThisWorkbook.Sheets("PMG")
        .Range("F2").Formula = "=VLOOKUP(A2,Sheet1!A:A,1,FALSE)"
        .Range("F2:F" & .Cells(Rows.Count, 1).End(xlUp).Row).FillDown
    End With
End Sub
您也可以使用R1C1符号,而不是填充

Option Explicit
Public Sub test()
    With ThisWorkbook.Sheets("PMG")
         .Range("F2:F" & .Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = "=VLOOKUP(RC[-5],Sheet1!C[-5],1,FALSE)"
    End With
End Sub