我有一个电子表格,下面的小样本,实际超过100行。
我有一个工作表更改宏,用于在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
我的问题是,当员工离开或加入我添加或删除它们时,我必须不断更改公式的范围。
我所希望的是,有人可以帮我根据B栏,白天或晚上的值添加IF公式。目前,我必须确保过滤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
不幸的是,当我运行代码时,第二个公式会覆盖第一个公式,任何人都可以帮助我吗?单元格引用与第一个代码不同,因为我使用的是完整的电子表格,而不仅仅是我在图片中发布的样本。
答案 0 :(得分:1)
我设法解决了问题。
感谢输入,你每天都在学习新东西。
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