返回列表 上一主題 發帖

[發問] 請問如何撰寫時間遞減的程式碼?

本帖最後由 singo1232001 於 2022-8-17 02:56 編輯

回復 1# av8d


Sub test2()
Sheets("系統檔").ComboBox1.Clear
For i = 1 To 7
Sheets("系統檔").ComboBox1.AddItem Date - i
Next
End Sub



如果要有0

Sub test3()
Sheets("系統檔").ComboBox1.Clear
For i = 1 To 7
Sheets("系統檔").ComboBox1.AddItem Format(Date - i, "yyyy/mm/dd")
Next
End Sub

TOP

本帖最後由 singo1232001 於 2022-8-17 22:45 編輯

回復 5# av8d


Sub test()
Sheets("系統檔").ComboBox1.Clear
For i = 7 To -7 Step -1
     wdi = Weekday(Date - i, 2)
    If wdi = 2 Or wdi = 5 Then
        Sheets("系統檔").ComboBox1.AddItem Format(Date - i, "yyyy/m/d") & " " & WeekdayName(wdi, , 2)
        'Sheets("系統檔").ComboBox1.AddItem Format(Date - i, "yyyy/m/d")  '沒星期幾
    End If
Next
End Sub

'要注意當日 撞上星期二與星期五的問題 這種寫法是當日星期二或星期五也會找到   包括後面顯示星期幾

TOP

本帖最後由 singo1232001 於 2022-8-18 23:52 編輯

回復 7# av8d


Sub test()
Set Sc = Sheets("系統檔").ComboBox1
Sc.Clear
For i = 11 To -11 Step -1
  w = Weekday(Date - i, 2)
  If w >= 1 And w <= 5 Then Sc.AddItem Format(Date - i, "yyyy/m/d") & " " & WeekdayName(w, 1, 2)
Next

Select Case Weekday(Date, 2)
Case Is = 1, 5: Sc.Text = Format(Date + 4, "yyyy/m/d") & " " & WeekdayName(Weekday(Date + 4, 2), 1, 2)
Case Is = 2, 6: Sc.Text = Format(Date + 3, "yyyy/m/d") & " " & WeekdayName(Weekday(Date + 3, 2), 1, 2)
Case Is = 3: Sc.Text = Format(Date + 2, "yyyy/m/d") & " " & WeekdayName(Weekday(Date + 2, 2), 1, 2)
Case Is = 4: Sc.Text = Format(Date + 1, "yyyy/m/d") & " " & WeekdayName(Weekday(Date + 1, 2), 1, 2)
End Select
End Sub

1.  Sheets("系統檔").ComboBox1 可以縮寫成你想要到名稱
2.多條件判斷 可以練習使用select case   當然if也沒問題
會用的原因是 當多條件內部  未來出現多層判斷時 可以select case + if then 搭配 比較好分辨

若完成後 也可以直接全部使用with Sheets("系統檔").ComboBox1 的方式全包起來

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題