自动填充VLookUp结果直至最后一个相邻单元格的宏



我正在尝试制作一个宏,将运行vlookup,然后自动填充到包含数据的最后一个相邻单元格。当我最初创建宏时,数据集包含1917行数据,这就是为什么您将继续看到它引用1917的原因。然而,数据集的大小每天都在变化。

这个特殊的宏在到达这里之前需要执行几个步骤:

  1. 将文本转换为列
  2. 删除从支持报告
  3. 中提供的不需要的列
  4. 为5列添加标题
  5. 调整所有列的大小以修复数据
  6. 然后它运行第一个vlookup,我需要将数据填充到左侧的最后一个相邻单元格
  7. 然后它运行另一个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

无需自动填充。只要找到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

相关内容

最新更新