因此,我正在尝试使Excel自动将公式填充到F列中,该公式将A列中的值(F和A列都在标有“ PMG”的工作表中)与另一张工作表中的A列中的值进行比较(“ Sheet1“)。这是我所拥有的:
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行。
感谢您的帮助!
答案 0 :(得分:0)
尝试用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