自动填充macros将VLookUp结果向下填充到最后一个相邻的单元格
我试图做一个macros将运行一个vlookup
,然后自动填充到最后一个包含数据的相邻单元格。 当我最初创buildmacros时,数据集包含1917行数据,这就是为什么你会继续看到它的参考1917
。 但是,数据集每天大小不一。
这个特定的macros需要几个步骤才能得到这一点:
- 将文本转换为列
- 删除支持报告提供的不必要的列
- 将标题添加到5列
- 调整所有列的大小来修复数据
- 然后它运行第一个
vlookup
,我需要的数据填充到左边的最后一个相邻单元格 - 然后它运行另一个
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