2017-02-20 45 views
1

我有一個電子表格,下面小樣本,實際是在100行。IF和VLOOKUP在工作表改變宏

Timesheet

我當週數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 

不幸的是,當我運行第二個公式改寫第一個公式的代碼,任何人都可以幫我嗎?單元格引用與第一個代碼不同,因爲我使用的是完整的電子表格,而不僅僅是發佈在圖片中的示例。

+1

如果你先自己破解然後尋求幫助,那會更好。在Excel中查閱公式幫助。如果你使用的是VBA,我認爲你應該沒問題。 – SJR

+0

我可以把公式插入到片材如= IF(C5 = 「夜」,VLOOKUP($ A5, '[NightRota.xlsx] 23' $ A:$ I,C $ 1,0)),其工作正常,但工作表編號「23」每週都會變化。我無法理解如何將這個公式放入工作表中,因爲我得到一個調試錯誤。我也編輯了原始文章,因爲我有錯誤的單元格查找。 – Sherbetdab

回答

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