ªð¦^¦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ÁÂ

·PÁ¤j¤jÀ°¦£¦^ÂÐ
1.¼Æ¦r¬O·|¸õ°Êªº
2.µL¿ù»~°T®§
3.§Ú³]©w¬°D E F G ¸òµÛC2ÅÜ¤Æ ¦ý¬OD E F G±q¨Ó¨S¦³¥X²{¹L¼Æ­È¹L??

Àˬd«á
1.¥¿±`
2.¦n¹³¬O³oÃä¥X°ÝÃD §Ú§ï¥Î¤¸¤jDDE«á´N¥X²{µ{¦¡¿ù»~ ¤£¹L¥¿¦bºN¼ô¿ù»~½X¤¤
  ¦ü¥G¬O´I¨¹e01¨Ï¥Î¬°®æ¦¡°ÝÃD
3.¥Ø«e´N¦bºÃ´b ®Ú¾Ú§Úªº¸ÑŪ ¬O§_ D E F G´NÀ³¸Ó¶}©l¦s¨ú¸ê®Æ«á´«¦æ«ùÄò¬ö¿ý
   ¦ý§¹¥þ¨S¦³°ÊÀR ·PÁ¤j¤j¤F

TOP

ªþ¥ó¬°´ú¸ÕÀÉ®×
A6¬°¶}©l®É¶¡
A8¬°µ²§ô®É¶¡
C2ªºData­ì¥»¬O·Q©ñ¤J´Á³f¸õ°Ê
¦ý¥Ñ©ó·Q´ú¸Õ¾ã¤Ñ©Ò¥H¬O©ñ¤W¤¸¤j¶×²v¸õ°Ê

¦A³Â·Ð¦U¦ì¤j¤j¤F
·PÁÂ

Ãö©ó²Ä¤GÂI­×§ï¤½¦¡³¡¤À¤w¦b¾Ç²ß·PÁ¦U¦ì

VBA2.rar (8.13 KB)

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

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

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

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

¥»©«³Ì«á¥Ñ 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

¦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

        ÀR«ä¦Û¦b : ¤H­nª¾ºÖ¡B±¤ºÖ¡B¦A³yºÖ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD