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

[µo°Ý] §Ú¤]·Q°ÝDDE§Q¥ÎPrivate Sub Worksheet_Calculate()¨ú¸ê®Æ¤è¦¡

[µo°Ý] §Ú¤]·Q°ÝDDE§Q¥ÎPrivate Sub Worksheet_Calculate()¨ú¸ê®Æ¤è¦¡

¦U¦ì¤j¤j§A­Ì¦n
§Úª¾¹D§Ú«Ü¹à
¦ý¬Oªñ¤é­è¦n¦³»Ý¨D·Q­n½Ð±Ð¦U¦ì¤j¤j

¥ý¦bSheet1(Sheet1)¤W¥´¤W
¨ä¥L¤j¤jªº¯«©_µ{¦¡(¦p¤U)

Private Sub Worksheet_Calculate()
Dim NowDateTime, nowTime, startTime, stopTime
Dim tr As String

NowDateTime = Now  '²{¦bªº®É¶¡­È, ¥h±¼¾ã¼Æ³¡¥÷,
nowTime = (NowDateTime - Int(NowDateTime)) '±o¨ì²{¦bªº®É¶¡­È
startTime = Range("A6") '¶}½L®É¶¡, ¨Ò¦p: "09:00:00 AM"
stopTime = Range("A8")  '¦¬½L®É¶¡, ¨Ò¦p: "01:30:00 PM"

If nowTime <= startTime Then  '©|¥¼¶}½L
    Exit Sub
ElseIf nowTime > stopTime Then '¤w¸g¦¬½L
    Exit Sub
Else
    If [C2] <> "-" And [C2] <> "###" Then   '²M½Lªºª¬ºA, ¤£¨ú¨ä¸ê®Æ
        tr = Int((nowTime - startTime) * 288) + 2  '¨C®t 300 ¬í´N´«¤@¦C
        If Range("D" & tr) = "" Then Range("D" & tr) = Range("C2")  '¶}©l»ù
        If Range("E" & tr) = "" Or Range("C2") > Range("E" & tr) _
            Then Range("E" & tr) = Range("C2")                      '³Ì°ª»ù
        If Range("F" & tr) = "" Or Range("C2") < Range("F" & tr) _
            Then Range("F" & tr) = Range("C2")                      '³Ì§C»ù
        Range("G" & tr) = Range("C2")                               'µ²§ô»ù
    End If
End If
End Sub

¦ý³Ì«áÁÙ¬OµLªk¦s¨ú
¤£ª¾¹D­þÃä¿ù»~¤F  ÁÙ¬O­n¥´¦bThisWorkbook¨ºÃä©O???
§Ú¬O¨Ï¥Î´I¨¹e01 DDE¦s¨ú¸ê®Æ©ñ¦bC2

¦A½Ð¦U¦ì¤j¤j¤F §Ú¦³ª¦¤å¦ý¬OÁÙ¬O¤£·| ·PÁÂ

¦U¦ì¤j¤j  §PÂ_¤w¸g¨S¦³°ÝÃDÅo
¦ý¬O¤S¨Ó½Ð°Ý
°²­Y¬Û¦Pªº Worksheet_Calculate
¸Ì­±¥i¥H­pºâ¥[ªk¶Ü

ex §Ú¦³¶×¥X¤@µ§¼Æ¦r(¦¨¥æ¶q)
¦ý¬O¥L¨C§ïÅܤ@¦¸  §Ú´N²Ö¿n²Ö¥[°_¨Ó ¤@¼Ë¤­¤ÀÄÁ«á´«¦æ
¦¹¥[ªk¬O»Ý­nÃB¥~¼g¤@­ÓSub­pºâ
ÁÙ¬O¬Û¦P¤@­Ó¤]¥i¥H???

¤£¦n·N«ä  ¤@ª½°Ý°ÝÃD ·PÁ¤j¤j«ü¥¿

TOP

¥»©«³Ì«á¥Ñ albertbug ©ó 2011-7-28 18:09 ½s¿è

·PÁÂluhpro¤j¤jªº«Øij
§Ú·|¦Û¤v¹Á¸Õ¼¶¼gªº
¨Ã¥B¸É¤W¨Ç¤¤¤å»¡©ú
¥D­n·íªì¨S¸É¤W¬O¦]¬°·Q»¡·Q§â¥D¬[ºcVBA¾Ç·|  
·PÁ«Øij


·PÁÂGBKEE¤j¤j
¥Ñ©ó¤U¯Z«á¨Ï¥ÎMAC os¨S¸ËOffice
©ú¤é·|¦b¬ã¨s¦¹¨Çµ{¦¡½X ·PÁÂ
­ì¨Ó¥D­n­n¨Ï¥Î.Offset(-1)
·PÁÂ

TOP

¦^´_ 10# albertbug
If Range("D" & Tr) = "" Then Range("D" & Tr) = Range("C2")  '¶}©l»ù
            I = Range("D" & Tr) - Range("D" & Tr).Offset(-1)      ' - ¤W¤@¦C         
            Msg = ""
            If I > 0 Then Msg = "+"                  '
            If I < 0 Then Msg = "-"
            Range("??" & Tr) = Msg                                    '?? §A­n©ñªºÄæ¦ì¦Û¤v³]
            If Range("E" & Tr) = "" Or Range("C2") > Range("E" & Tr) _
                Then Range("E" & Tr) = Range("C2")                      '³Ì°ª»ù
            I = Range("E" & Tr) - Range("E" & Tr).Offset(-1)
            Msg = ""
            If I > 0 Then Msg = "+"
            If I < 0 Then Msg = "-"
           Range("??" & Tr) = Msg

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2011-7-27 21:02 ½s¿è
¨C¦æD E F G
¬Ò»Ý­n»P¤W¦æD E F G¤ñ¸û­È¤j¤p
(¦]¬°¨C¦æ³£·|®Ú¾Útr©¹¤U±Æ§Ç)
¤ñ¸û§¹«á ®Ú¾Ú§PÂ_¦¡¿é¥X¤å¦r"+" or "-"
albertbug µoªí©ó 2011-7-27 18:47


§Aªº·N«ä¬O«ü­nÅã¥Ü¸ÓÀx¦s®æ¼Æ­È»P¤W¤@¦¸¼Æ­È¶¡ªº¼W´î¤è¦V¶Ü?
¤@¯ë¨Ó»¡¥i¥H±Ä¥Î 4 ­ÓÅܼÆ(§Y³Ìªñ¶}©l»ù¡B³Ì°ª»ù¡B³Ì§C»ù»Pµ²§ô»ù)¨ÓÀx¦s³Ì·sªº¼Æ­È,
µM«á©ó¨C¦¸§ó·sÀx¦s®æ¼Æ­È®É´N»P¨ä°µ¤ñ¸û¨Ã¥[¤W +¡B- ¸¹,
·íµM§O§Ñ¤F±N·s­È¦A«×½á¤©(§ó·s)¦Ü¸ÓÅܼÆ.

¤§©Ò¥H«Øij±Ä¥Î¦¹¤è¦¡¬O¦]¬°µo²{§Aªº¨Ò¤l¤¤·|¦³ªÅ¥Õ®æ¤l¥X²{,
©Ò¥H¤£¾A¦Xª½±µ¥h¤ñ¸û¥Ø«eÀx¦s®æªº "¤W¤@­Ó" ®æ¤l¤º®e.

¥[ªº¤è¦¡À³¸Ó¤£§xÃø,
§A¥i¥H¸ÕµÛ¹ê°µ¬Ý¬Ý.
¥t¥~­Ó¤H«Øij§A¥i¥H¦Ò¼{±N¶}©l®É¶¡»Pµ²§ô®É¶¡©ñ¦b¸Ó¦Cªº¥ªÃä(BÄæ»PCÄæ),
¦bD29 ~ G29 ¥[¤W ¶}©l»ù¡B³Ì°ª»ù¡B³Ì§C»ù»Pµ²§ô»ù µ¥Äæ¦ì¦WºÙ,
³o¼ËÀ³¸Ó·|§ó®e©ö§PŪ½L¶ÕÅܤƩάO¥Î¨Ó»s§@¹Ïªí.

TOP

¥»©«³Ì«á¥Ñ albertbug ©ó 2011-7-27 18:48 ½s¿è

¦U¦ì¤j¤j §ÚÁÙ·Q°µ¥t¥~¤@¥ó¨Æ±¡
¨C¦æD E F G
¬Ò»Ý­n»P¤W¦æD E F G¤ñ¸û­È¤j¤p
(¦]¬°¨C¦æ³£·|®Ú¾Útr©¹¤U±Æ§Ç)
¤ñ¸û§¹«á ®Ú¾Ú§PÂ_¦¡¿é¥X¤å¦r"+" or "-"

¦p¦¹¤ñ¸ûªk­n¦p¦ó¼g¥X

TOP

¯uªº¦³°O¿ý¤U¨Ó  ¬O§Ú®É¶¡¤Wªº®t²§
¾É­Ptr¼Æ­È¤ñ¸û¤j
¤ÓÄø¤F§Ú
Sorry

¦nªº ·PÁ¤j¤j §Ú¨Ó¦b¦n¦n¬ã¨s¤@¤U³o¨Ç¸ê®Æ
·PÁ¦U¦ì

TOP

¦^´_ 7# albertbug
«Øij§A«e­±¥[¤W Range("C" & tr) = Format(Time, "HH:MM:SS") ¨Ó¬Ý¬Ý
¬Ý¬Ý§AªþÀɤW66¦C-786¦C¤W¦³¤£³sÄòªº¸ê®Æ,¸ê®Æ¬O¦³°O¿ý¤U¨Óªº.

TOP

·PÁ¤j¤jªº¦^ÂÐ
®Ú¾ÚG¤j§Aªº¼gªk ¥Ø«e¦b D E F GÁÙ¬O¨S¦³¼Æ­È¼g¤J¨Ã¥BÀx¦s

§Ú¾Ç²Lªº¬ÝµÛCode
·N«ä¤W§Ú³£À´ ¦ý¬O§Úı±o¦³ÂI©_©Ç
¬°¦ó¨S¦³°õ¦æ
If Range("D" & Tr) = "" Then Range("D" & Tr) = Range("C2")  ³o¦æ
¤@¶}©l°²­Y¨S¦³¼Æ­È  ·|§PÂ_¿ù»~¦X²z

§Úªº°ÝÃD´N¬O ¼Æ¦r·|¸õ°Ê ¦ý¬O¼Æª½µLªkÀx¦s  ·PÁ¦U¦ì!

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-11-12 06:44 ½s¿è

¦^´_ 5# albertbug
[ 2011/11/12 §ó¥¿ ]
¸Õ¸Õ¬Ý
  1. Private Sub Worksheet_Calculate()
  2.     Dim startTime, stopTime
  3.     Dim Tr As String, Time_Step As Date
  4.    
  5.     Time_Step = #12:05:00 AM#     '³]©w¶¡¹j®É¶¡: 5¤ÀÄÁ->300¬í
  6.     'Time_Step = #12:00:01 AM#     '³]©w¶¡¹j®É¶¡: 1¬í
  7.    
  8.     startTime = Range("A6") '¶}½L®É¶¡, ¨Ò¦p: "09:00:00 AM"
  9.     stopTime = Range("A8")  '¦¬½L®É¶¡, ¨Ò¦p: "01:30:00 PM"
  10.     If startTime > Time Then  '©|¥¼¶}½L
  11.         Exit Sub
  12.     ElseIf stopTime < Time Then '¤w¸g¦¬½L
  13.         Exit Sub
  14.     Else     
  15.       If [C2] <> "-" And [C2] <> "###" Then   '²M½Lªºª¬ºA, ¤£¨ú¨ä¸ê®Æ
  16.             'Tr = Int((nowTime - startTime) * 1440) + 30  '¨C®t 300 ¬í´N´«¤@¦C
  17.             Tr = Int((Time - startTime) / Time_Step) + 30 ' ¨C5¤ÀÄÁ¤@¦C ±q²Ä30¦C¶}©l
  18.             If Range("D" & Tr) = "" Then Range("D" & Tr) = Range("C2")  '¶}©l»ù
  19.             If Range("E" & Tr) = "" Or Range("C2") > Range("E" & Tr) _
  20.                 Then Range("E" & Tr) = Range("C2")                      '³Ì°ª»ù
  21.             If Range("F" & Tr) = "" Or Range("C2") < Range("F" & Tr) _
  22.                 Then Range("F" & Tr) = Range("C2")                      '³Ì§C»ù
  23.             Range("G" & Tr) = Range("C2")                               'µ²§ô»ù
  24.         End If
  25.     End If
  26. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¨C¤ÑµL©Ò¨Æ¨Æ¡A¬O¤H¥Íªº®ø¶OªÌ¡A¿n·¥¡B¦³¥Î¤~¬O¤H¥Íªº³Ð³yªÌ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD