ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

¨C¦~ªº²Ä¤@­Ó¤u§@»P³Ì«á¤@­Ó¤u§@¤Ñ

y = InputBox("¿é¤J¦~«×", , 2010)
MsgBox Format(Application.WorkDay(DateSerial(y - 1, 12, 31), 1), "yyyy/mm/dd")
MsgBox Format(Application.WorkDay(DateSerial(y + 1, 1, 1), -1), "yyyy/mm/dd")
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¥»©«³Ì«á¥Ñ Hsieh ©ó 2010-8-21 21:38 ½s¿è
  1. Private Sub Workbook_Open()
  2. y = CDate(Application.WorkDay(DateSerial(Year(Date) - 1, 12, 31), 1)) '¤µ¦~ªº²Ä¤@­Ó¤u§@¤Ñ
  3. y1 = CDate(Application.WorkDay(DateSerial(Year(Date) + 1, 1, 1), -1)) '¤µ¦~ªº³Ì«á¤@­Ó¤u§@¤Ñ
  4. If Date = y1 Then '¦pªG¤µ¤Ñ¬O¤µ¦~ªº³Ì«á¤@­Ó¤u§@¤Ñ
  5. MsgBox "Today is lastworkday for this year"
  6. ElseIf Date = y Then '¦pªG¤µ¤Ñ¬O¤µ¦~ªº²Ä¤@­Ó¤u§@¤Ñ
  7. MsgBox "Today is firstworkday for this year"
  8. End If
  9. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

first_last.rar (7.98 KB) ª©¥»­Y¤£¤ä´©,¦Û¤v¼g¨ç¼Æ,366¤Ñªá¤£¤F¤Ó¦h®É¶¡
  1. Function MyWorkday(y%, t%)
  2. Dim Ar()
  3. For i = DateSerial(y, 1, 1) To DateSerial(y, 12, 31)
  4.    If Weekday(i, 2) < 6 Then
  5.    ReDim Preserve Ar(s)
  6.    Ar(s) = i
  7.    s = s + 1
  8.    End If
  9. Next
  10. If t = 0 Then
  11.    MyWorkday = Ar(0) '²Ä¤@­Ó¤u§@¤Ñ
  12.    ElseIf t = 1 Then
  13.    MyWorkday = Ar(s - 1) '³Ì«á¤u§@¤Ñ
  14. End If
  15. End Function
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¥»©«³Ì«á¥Ñ Hsieh ©ó 2010-8-23 19:40 ½s¿è

¦^´_ 9# GBKEE
2007¤]¥i¨Ï¥ÎEvaluate

    firstworkday = CDate(Evaluate("WORKDAY(DATE(YEAR(TODAY()),1,0),1)"))
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¤@­Ó¯Ê¤fªºªM¤l¡A¦pªG´«¤@­Ó¨¤«×¬Ý¥¦¡A¥¦¤´µM¬O¶êªº¡C
ªð¦^¦Cªí ¤W¤@¥DÃD