问题场景:
如下所示,需要根据B列“项目”内容,查找G-H列中,各个项目是属于支出还是收入,再匹配填充进D列中。
PS:此处通过if()
函数识别金额正负输出支出/收入。本文不考虑这种方法,主要是通过该案例探究VBA实现方法。
Xlookup + 自动填充公式
思路:首先,在D2单元格填充对应的Xlookup公式(vlookup也可,但更推荐升级版的Xlookup);在通过VBA实现下拉自动填充公式的功能。
注意: VBA自动填充需要指定结束位置,所以需要对应找到“C”列(AB列也可)的最后一行,使用Cells(Rows.Count, "C").End(xlUp).Row
Sub autofill()
Application.ScreenUpdating = False '防止宏运行时屏幕抖动
Sheets("Sheet1").Select '选择Sheet1
Range("D2").Select '选择D2 首个含公式的单元格
'对选择的单元格运行自动填充功能,范围是从D2到D列的最后一行,(这里参考的是C列的最后一行位置)
Selection.autofill Destination:=Sheets("Sheet1").Range("D2:D" & Sheets("Sheet1").Cells(Rows.Count, "C").End(xlUp).Row)
End Sub
运行后结果:
D列都自动填充了对应的Xlookup公式