返回列表 上一主題 發帖

請問如何讓其他欄位依照今天日期顯示不同底色

回復 3# coafort
        謝謝前輩回覆
上百列是可以的
請前輩 試看看

TOP

回復  coafort


    謝謝前輩發表此主題
VBA方法供參考
後學練習3種方法
Andy2483 發表於 2022-9-21 16:48



謝謝大大
但是我有上百列
請問這程式是否能用?
謝謝

TOP

回復 1# coafort


    謝謝前輩發表此主題
VBA方法供參考
後學練習3種方法
  1. Option Explicit
  2. Sub TEST_1()
  3. '讓今天日期的BA底色不同
  4. '只總計AO欄是今日的BA數值在BA2
  5. Application.ScreenUpdating = False
  6. Dim i
  7. [BA2] = ""
  8. For i = 3 To Cells(Rows.Count, "AO").End(xlUp).Row
  9.    If Cells(i, "AO") = Date Then
  10.       Cells(i, "AO").Interior.ColorIndex = 17
  11.       [BA2] = [BA2] + Cells(i, "BA")
  12.       Else
  13.          Cells(i, "AO").Interior.ColorIndex = xlNone
  14.    End If
  15. Next
  16. End Sub
  17. Sub TEST_2()
  18. '讓今天日期的BA底色不同
  19. '只總計AO欄是今日的BA數值在BA2
  20. Application.ScreenUpdating = False
  21. Dim i As Range, Y
  22. Set Y = CreateObject("Scripting.Dictionary")
  23. [BA2] = ""
  24. For Each i In Range([AO3], Cells(Rows.Count, "AO").End(3))
  25.    Y.Add i, i.Item(1, 13)
  26.    If i = Date Then
  27.       i.Interior.ColorIndex = 17
  28.       [BA2] = [BA2] + Y(i)
  29.       Else
  30.          i.Interior.ColorIndex = xlNone
  31.    End If
  32. Next
  33. End Sub
  34. Sub TEST_3()
  35. '讓今天日期的BA底色不同
  36. '只總計AO欄是今日的BA數值在BA2
  37. Application.ScreenUpdating = False
  38. Dim R&, Y, Z As Range, xR As Range
  39. Set Y = CreateObject("Scripting.Dictionary")
  40. [BA2] = ""
  41. Set Z = Range([AO3], Cells(Rows.Count, "AO").End(3))
  42. Z.Interior.ColorIndex = xlNone
  43. For Each xR In Z
  44.    Y(xR.Value) = Y(xR.Value) + xR.Item(1, 13).Value
  45.    If xR = Date Then
  46.       xR.Interior.ColorIndex = 17
  47.    End If
  48. Next
  49. [BA2] = Y(Date)
  50. End Sub
複製代碼

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題