工作表中的IF和VLOOKUP更改macros

我有一个电子表格,下面的小样本,实际上是超过100行。

时间表

我有一个工作表更改macros在B3中更改星期编号。

If Target.Address = Range("$B$3").Address Then Range("C5:I7").Formula = "=VLOOKUP($A5,'[NightRota.xlsx]" & Target.Value & "'!$A:$I,C$1,0)" Range("C8:I11").Formula = "=VLOOKUP($A8,'[DayRota.xlsx]" & Target.Value & "'!$A:$J,C$2,0)" End If End Sub 

我的问题是,当员工离开或join,我添加或删除他们,我必须不断改变公式的范围。

我所希望的是,有人可以帮我添加一个IF语句的公式取决于列B,白天或晚上的价值。 此刻我必须确保列B被过滤,以确保正确的公式进入正确的单元格。

提前致谢。

我取得了一些成功,这是我现在拥有的

 If Target.Address = Range("$C$3").Address Then Range("D5:J91").Formula = "=IF($C5=""Night"",VLOOKUP($A5,'[NightRota.xlsx]" & Target.Value & "'!$A:$I,D$1,0))" Range("D5:J91").Formula = "=IF($C5=""Days"",VLOOKUP($A5,'[DayRota.xlsx]" & Target.Value & "'!$A:$J,D$2,0))" End If End Sub 

不幸的是,当我运行代码第二个公式覆盖第一个公式,任何人都可以帮我吗? 单元格引用与第一个代码不同,因为我正在使用完整的电子表格,而不仅仅是发布在图片中的示例。

我已经设法解决了。

感谢input,你每天都会学习新的东西。

 If Target.Address = Range("$C$3").Address Then Range("D5:J91").Formula = "=IF($C5=""Night"",VLOOKUP($A5,'[NightRota.xlsx]" & Target.Value & "'!$A:$I,D$1,0),VLOOKUP($A5,'[DayRota.xlsx]" & Target.Value & "'!$A:$J,D$2,0))" End If End Sub