自动填充macros将VLookUp结果向下填充到最后一个相邻的单元格

我试图做一个macros将运行一个vlookup ,然后自动填充到最后一个包含数据的相邻单元格。 当我最初创buildmacros时,数据集包含1917行数据,这就是为什么你会继续看到它的参考1917 。 但是,数据集每天大小不一。

这个特定的macros需要几个步骤才能得到这一点:

  1. 将文本转换为列
  2. 删除支持报告提供的不必要的列
  3. 将标题添加到5列
  4. 调整所有列的大小来修复数据
  5. 然后它运行第一个vlookup ,我需要的数据填充到左边的最后一个相邻单元格
  6. 然后它运行另一个vlookup ,我也需要填充到左边最后一个相邻的单元格

这是我正在努力的两个vlookup的代码:

 Range("E2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-4],'CURRENT DAY'!R[-1]C[-4]:R[2498]C[1],5,0)" ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],'CURRENT DAY'!R1C1:R2500C6,5,0)" Range("E2").Select Selection.AutoFill Destination:=Range("E2:E1917") Range("E2:E1917").Select Columns("E:E").EntireColumn.AutoFit Range("F2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-5],'CURRENT DAY'!R[-1]C[-5]:R[2498]C,6,0)" ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],'CURRENT DAY'!R1C1:R2500C6,6,0)" Range("F2").Select Selection.AutoFill Destination:=Range("F2:F1917") Range("F2:F1917").Select 

不需要自动填充。 只需find列A中的最后一行,并用它来表示放置r1c1公式的范围

 Dim lastrow As Long lastrow = Range("A2").End(xlDown).Row Range("E2:E" & lastrow).FormulaR1C1 = "=VLOOKUP(RC[-4],'CURRENT DAY'!R1C1:R2500C6,5,0)" Range("F2:F" & lastrow).FormulaR1C1 = "=VLOOKUP(RC[-5],'CURRENT DAY'!R1C1:R2500C6,6,0)" Columns("E:F").EntireColumn.AutoFit