顯示最後一日 MSDN 參考
小編不想要周六跟周日,
所以加入工作日判斷,
先取得當月最後一天後
再判斷工作日
流程:
1.丟入日期:
A = DateSerial(Year(Sheets("twi_index").Range("h" & i)), Month(Sheets("twi_index").Range("h" & i)) + 1, 0)
g = Split(A, "/")
2.處理出月底日期:
TEMP_DAY = g(0) & "/" & g(1) & "/" & g(2)
TEMP_DAY = Format(TEMP_DAY, "YYYY/mm/dd")
3.判斷六日:
W = Mid("日一二三四五六", Weekday(TEMP_DAY), 1)
If W = "日" Or W = "六" Then
TEMP_DAY = g(0) & "/" & g(1) & "/" & g(2) - 1
g = Split(TEMP_DAY, "/")
GoTo LINE2
End If
4.是六日>再處理>輸出,非六日>輸出
再續:
但發現有時候不特定放假,當日是沒有資料的。
所以加入交易日,做判斷用
S_交易日 = Sheets("交易日").Range("A2000").End(xlUp).Row
交易日_DATA = Sheets("交易日").Range("A1:A" & S_交易日)
交易日_DATA = WorksheetFunction.Transpose(交易日_DATA)
交易日_CHECK = Filter(交易日_DATA, TEMP_DAY)
If UBound(交易日_CHECK) >= 0 Then
holiday_chick = 1
End If
If UBound(交易日_CHECK) >= 0 Then
holiday_chick = 1
g = Split(TEMP_DAY, "/")
TEMP_DAY = g(0) & "/" & g(1) & "/" & g(2) - 1
GoTo LINE3
End If
'當然要有一個工作表來放置交易日的資料。 哈
沒有留言:
張貼留言