返回列表 上一主題 發帖

[發問] 直式日期+星期公式之疑惑...

回復 10# Andy2483

非常感謝 Andy2483 再度更新

依所式之程式碼測試結果

起始日期少一天...

TOP

回復 11# cypd


    謝謝前輩
後學囫圇吞棗的學習想必困擾各位了,謝謝論壇的包容,謝謝各位前輩指教
後學訂正如下的學習方案心得註解,請前輩參考


Option Explicit
Sub TEST_2()
Dim Brr, i&, Y%, M%, D1 As Date, D2 As Date, N%
'↑宣告變數
Y = [AH1] + 1911: M = [AH2]: D1 = Y & "/" & M & "/" & "1"
'↑令Y變數是 [AH1]儲存格值+1911,
'令M變數是 [AH2]儲存格值,
'令D1這日期變數是 西元年/月/1

Y = IIf(M = 12, Y + 1, Y): M = IIf(M = 12, 1, M + 1)
'如果月份是12,就令年分+1,
'如果月份是12,就令月份是 1月,否則就將月份+1,
'這是要處裡跨年辨認12月最後一天

D2 = Y & "/" & M & "/" & "1": D2 = D2 - 1
'↑令D2這日期變數是 西元年/月/1 (D2是下個月的第1天)
With [A4:B65]
'↑以下是關於儲存格的程序
   .ClearContents: Brr = .Value
   '↑清除儲存格內容
   .FormatConditions.Delete
   '↑刪除格式化條件
   .Interior.ColorIndex = xlNone
   '↑令儲存格底色是 無色
   For i = 0 To (D2 - D1)
   '↑設順迴圈
      Brr(i * 2 + 1, 1) = D1 + N: Brr(i * 2 + 1, 2) = Right(Format(D1 + N, "aaa"), 1)
      '↑令日期與星期寫入Brr陣列裡
      If InStr("六日", Brr(i * 2 + 1, 2)) Then Cells(i * 2 + 4, "B").Interior.ColorIndex = 38
      '↑令即將是星期六日的儲存格底色先變為桃紅色
      N = N + 1
      '↑令N變數累加 1
   Next
   .Value = Brr
   '↑令Brr陣列值寫入儲存格中
End With
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 12# Andy2483

非常感謝 Andy2483 再度更新

經實測正常顯示

今希望經由點擊 年 或 月 上下鍵時...日期及星期能自動更新顯示該如何修正程式嗎??

TOP

本帖最後由 Andy2483 於 2023-5-22 07:52 編輯

回復 13# cypd


    謝謝前輩再回復
右鍵指定巨集:


輸入 TEST_2:


年份同樣的方式設定
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 14# Andy2483

非常感謝 Andy2483 不吝指導

年(月)份設定右鍵指定巨集就能達成所需結果…感恩啊  ^^

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題