是的,你可以在VBA中做到這一點,但我會建議使用條件格式(公式),因爲它不需要編程知識。爲此,您需要使用Vlookup formula。
我相信你想要的輸出是圖片鏈接中的東西嗎?
要進行條件格式設置,請在「主頁」選項卡的「樣式」 - >「條件格式」下查找。突出顯示要格式化的單元格,然後選擇「條件格式」 - >「新建規則」。這將導致一個新的窗口彈出。選擇「使用公式確定要格式化的單元格」。
你會想要2個條件格式。
1.如果日期在開始日期和結束日期之內,則顯示爲綠色。爲此,請選擇甘特圖中的第一個單元格(示例中的單元格B8),然後輸入下面的公式。
=IF(AND(B$7>=VLOOKUP($A8,$A$2:$D$5,3,FALSE()),B$7<=VLOOKUP($A8,$A$2:$D$5,4,FALSE())),TRUE(),FALSE())
2.要在用戶的項目超出截止日期時顯示紅色,請在高亮顯示的同一單元格中輸入下面的公式。
=IF(B$7>VLOOKUP($A8,$A$2:$D$5,4,FALSE()),TRUE(),FALSE())
一旦做到這一點,你可以應用格式刷或複製和粘貼使用條件格式來擴展你的表/甘特圖的單元格。
請注意,$符號非常重要,因爲它們會鎖定公式中的相對參考位置。以第二個公式爲例,B $ 7表示日期,並且您需要將引用鎖定到所有日期都是的第7行。另一方面,列引用(列B)可以根據需要更改爲列,以便與其他日期進行適當比較。
對於每個用戶的多個項目,您可以擴展您的最初問題嗎?你想跟蹤每個用戶還是每個項目?我假設你正在創建一個甘特圖來追蹤一個項目。在這種情況下,追蹤分配給人員的具體任務會更有意義。您可以根據任務修改給予跟蹤的示例。
首先,我沒有看到任何沒有VBA的機會。但是StackOverflow不是一個免費的代碼寫作服務,也不能教會如何編寫VBA代碼(因此論壇是正確的地方,這是一個基於問題/答案的網站)。通常人們會在這裏爲他們自己編碼的問題帶來一個具體問題。所以你需要自己開始,並回到你的代碼和一個更具體的問題,我想。 –
同意,我曾嘗試使用條件格式,但它打破了。 嘗試在VBA中使用for循環 - 它也打破了這種想法,將它作爲新的學習主題發佈。 –