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

½Ð°Ý°ª¤â­n±N¥H¤UDDE ¨C¤ÀÄÁ°O¿ý§ï¬°30¬í¦Û°Ê°O¿ý¤@¦¸­n«ç§ï

¦^´_ 1# xu123
´N¥H§A¤â¤W®×¨Ò¨Ó°Q½×ªº¸Ü¡A§A¥u­n±N "00:00:01" (¨C¤@¬í)
­×§ï¬° "00:00:30"  (¨C¤T¤Q¬í) «K§¹¦¨¤F¡I

TOP

¦^´_ 3# xu123
¤£¶·µ¥¶}½L¡A§A¥u­n¶}±Ò¸ÓExcel ªí³æ¡A©ó 8:45 «áÆ[¹î¨C¹j30¬í¬O§_·|¼g¤J¤@µ§¬ö¿ý¡A
µª®×«K§Yª¾¾å¡C

TOP

¦^´_ 6# xu123
½Ðªþ¤WÀɮץѧڳo¤è¨ÓÆ[¹î¡A¦]¬°¨º¥»¨Ó´N¥i¦æªº¡A
§_«h§Aªº "00:00:01" ¥çµLªk°õ¦æ¡C

TOP

¦^´_ 6# xu123
ªþ¤W¹Ï¤ù¥H¤Îµ{¦¡½X¨Ñ§A¹ê°È°Ñ¦Ò¡G
¤@¡B DDE ¨C¤ÀÄÁ°O¿ý§ï¬°30¬í¦Û°Ê°O¿ý¤@¦¸­n«ç§ï [­×§ï]
  1. Option Explicit
  2. Dim counter As Single      ' ¬°¥[²`¦L¶H¡A¥Î¥¦¨ÓÅã¥Üµ{¦¡¦³§_¦b¹B¦æ³B²z

  3. Private Sub Workbook_Open()
  4.     counter = 0

  5.     Call timerStart        ' ·í¶}±Ò¥» Excel ÀɮסAµ{¦¡«h¦Û°Ê°õ¦æ timerStart µ{¦¡¬q¡C
  6. End Sub

  7. Sub timerStart()
  8.     ' ¥»½d¨Ò³]©w®É¶¡¬O±q¨C¤é¤KÂI¥|¤Q¤­¤À¶}©l°_ºâ¡A¨C¹j 30 ¬í«K·|¦Û°Ê¥h°õ¦æ ThisWorkbook µ{¦¡°Ï°ì¤ºªº ExeSelf¡C
  9.     ' ¦pªGı±oµ¥¤Ó¤[¤F¡A¤]¥i¥H¥h²§°Ê®É¬q¡C¨Ò¦p: "00:00:01"(¨C¹j 1 ¬í)¡B"00:00:10"(¨C¹j 10 ¬í)¡B"00:00:20"(¨C¹j 20 ¬í) µ¥µ¥¡C
  10.     If (TimeValue(Now) > TimeValue("08:45:00")) Then Application.OnTime (Now + TimeValue("00:00:30")), "ThisWorkbook.ExeSelf"
  11. End Sub

  12. Sub ExeSelf()
  13.     counter = counter + 1   ' counter ·|³v¦¸¥[¤@

  14.     [F8].Value = counter    ' 08:45 «á¨C¹j 30 ¬í¡A½ÐÆ[¹î F1 Äæ¦ì¼Æ¦r¬O§_·|²§°Ê¡H
  15.     Call timerStart         ' µ{¦¡¤§©Ò¥H·|¤ÏÂаõ¦æ¡A´N¦b©ó¥»¦æ¦Û°Ê¦A¥h¦^ÀY©I¥s°õ¦æ timerStart µ{¦¡¬q¤@¦¸¤§¬G¡C
  16. End Sub
½Æ»s¥N½X
¤G¡B ¦hªÅ¤O¹D (O/H/L/C) ¹ê»Ú¤§µ{¦¡¹B§@µ{¦¡½X¡A½Ð²Ó¤ßºÝ­Ù¡C
  1. Option Explicit

  2. Dim timerEnabled As Boolean  '
  3. Dim counter As Single        ' ¥Ü½d¥Î­p¼Æ¾¹
  4. Dim Ov As Single, Hv As Single, Lv As Single, Cv As Single As Single  ' ¶}½L»ù¡B³Ì°ª»ù¡B³Ì°ª»ù¡B¦¬½L»ù(¦¨¥æ»ù) µ¥³]©w¤§ÅܼơC
  5. Dim turnKey As Integer   ' §PÂ_¨C¤@½ü°j¤W¦CÅܼƪì©l­È¤§³]©w¡C
  6. Dim nums As Integer      ' ±N¨C¹j "¦h¤Ö®É¶¡" ³B²z®É¬q¡A²¾¨ì¦¹³B¨Ó³B²z¡C

  7. Private Sub Workbook_Open()
  8.     counter = 0

  9.     nums = 30            ' ³]©w¨C¹j 30 ¬í³B²z®É¬q¡A¥ç¥i§ó§ï¦¨ 10 (¨C¹j 10 ¬í)¡B20 (¨C¹j 20 ¬í)µ¥µ¥¡C
  10.                          ' ¦¹³B¤£«Øij¨Ï¥Î 1 ¬í®É¬q¨Ó³B²z¡A¦]¬°ÁÙ­n¥h¨D¥X¶}½L¡B³Ì°ª¡B³Ì§C¡B¦¨¥æ»ù¡C
  11.     timerEnabled = False
  12.     Call timerStart      ' µ{¦¡¤@±Ò©l¡A«K¥h¦Û°Ê°õ¦æ timerStart      
  13. End Sub

  14. Sub timerStart()
  15.     turnKey = 0          ' ¨C¤@½ü°j½L¤¤ªì©l­È¤§³]©w¡C

  16.     If timerEnabled Then
  17.         Application.OnTime (Now), "ThisWorkbook.ExeSelf"
  18.     Else
  19.         ' ¨t²Î­è³s¤W DDE ¦Ü¸ê®Æ¶×¤JExcel¤u§@ªí³æ¡A¶·¦³¤@­Ó½w½Ä®É¬q¡A³o®É¦pªG°¨¤W¥h§ì¨úDDE¸ê®Æ¡A·|¦³«¬ºA¤£²Åªº¿ù»~°T®§²£¥Í¡A¨Ã¤¤Â_°õ¦æ§Çªº§@·~¡C
  20.         Application.OnTime (Now + TimeValue("00:00:05")), "ThisWorkbook.ExeSelf"
  21.     End If
  22. End Sub

  23. Sub ExeSelf()
  24.     timerEnabled = True

  25.     If IsError(Sheets("¤u§@ªí1").Range("E5").Value) Then ' °²³] E5 Äæ¦ì¬°¦hªÅ¤O¹D
  26.         Cv = 0
  27.     Else
  28.         Cv = Sheets("¤u§@ªí1").Range("E5").Value          ' ¦hªÅ¤O¹D¦¨¥æ»ù
  29.     End If
  30.    
  31.     If (turnKey = 0 Or Ov = 0) Then                     ' ·í turnKey ­È¬°0¡Aªí¥Ü¨ä¬°ªì©l­È³]©w¡C¬°¦Ò¶q¨t²Î­è³s¤W DDE¡A
  32.                                                         ' ¦³®É¦b²Ä¤@®Ú¼Æ­È²£¥Í®É Ov = Cv ­È¥i¯à¬° 0 (IsError()ªºª¬ºA)¡C
  33.         Ov = Cv                                         ' ¦hªÅ¤O¹D¶}½L»ùªì©l­È³]©w
  34.         Hv = Cv                                         ' ¦hªÅ¤O¹D³Ì°ª»ùªì©l­È³]©w
  35.         Lv = Cv                                         ' ¦hªÅ¤O¹D³Ì§C»ùªì©l­È³]©w
  36.     End If
  37.    
  38.     turnKey = turnKey + 1
  39.    
  40.     If (Cv > Hv) Then Hv = Cv                           ' §PÂ_¦hªÅ¤O¹D³Ì°ª»ù
  41.     If (Cv < Lv) Then Lv = Cv                           ' §PÂ_¦hªÅ¤O¹D³Ì§C»ù

  42.     counter = counter + 1
  43.     [F1].Value = counter    ' 08:45 «á¨C¹j 30 ¬í¡A½ÐÆ[¹î F1 Äæ¦ì¼Æ¦r¬O§_·|²§°Ê¡H
  44.    
  45.     If (turnKey < nums) Then
  46.         Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.ExeSelf"
  47.     Else
  48.         If (Cv > 0) Then Call Timer
  49.         Call timerStart
  50.     End If
  51. End Sub

  52. Sub Timer()
  53.     Dim str As String
  54.    
  55.     If (TimeValue(Now) >= TimeValue("08:45:00") And TimeValue(Now) <= TimeValue("13:46:01")) Then    ' ¶}½L¡B¦¬½L®É¬q³]©w
  56.         ' ½L¤¤³B²z¡A±N¸ê®Æ¶×¤J¼g¤J¤u§@ªí³æ¤ºÀx¦s¡C

  57.     End If
  58. End Sub
½Æ»s¥N½X
½Ð¯d·N¦¹¨â¤äµ{¦¡ªº¼gªk¤W¤§®t²§¡A§Ú³£ºÉ¶q¤@¤@¥[¥H»¡©ú¬°¦ó¦p¦¹¡A¬Û«H¹ï§A·|¦³§U¯q¡C
§Ú­Ì¦b¤H¥Í®Èµ{¤W³£¬O±q¤£ª¾¦ÓÀòª¾¤¤¦¨ªøªº¡A¥u­n¦³¤ß³£¥i¥H¦¨¥\ªº¡C

TOP

¦^´_ 9# xu123
  1. Option Explicit
  2. Dim LastMin As String          ' §ó§ï¬°¶¡¹j®É¬q³]©w

  3. Private Sub Workbook_Open()
  4.     Sheets("µ¦²¤°O¿ý").Cells(4, 2) = 10     ' «O¯d§A¤§«eªº³]©w¡A¨C¦¸¤@¶}±ÒExcel³£­«·s¶}©l
  5.     LastMin = "00:00:30"          ' ¨C¹j 30 ¬íªº®É¬q³]©w¡C¦p»Ý¥H¤@¤ÀÄÁ°µ³B­ù¡A«h½Ð­×¥¿¬° "00:01:00"
  6.    
  7.     Call Timer
  8. End Sub

  9. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  10.     On Error Resume Next
  11.     Application.OnTime Now + TimeValue("00:00:01"), "ThisWorkbook.Timer", , False
  12. End Sub


  13. Public Sub Timer()
  14.     Dim Pos, i, HHMM As Integer, RangeStr As String
  15.         
  16.     On Error Resume Next
  17.     Sheets("µ¦²¤°O¿ý").Cells(3, 2) = Time '±N®É¶¡show¦Üµ¦²¤ªºb3Äæ¦ì
  18.    
  19.     HHMM = Hour(Time) * 100 + Minute(Time)
  20.     If (HHMM < 845 Or HHMM > 1345) Then Exit Sub 'Àç·~®É¶¡¤~°õ¦æ
  21.         
  22.     With Sheets("µ¦²¤°O¿ý")
  23.         .Cells(4, 2) = .Cells(4, 2) + 1 '±NÅܰʦ渹¥[¤@¦æ
  24.         Pos = .Cells(4, 2)
  25.         .Cells(Pos, 1) = Time
  26.         .Cells(Pos, 2) = .Cells(2, 2)
  27.         .Cells(Pos, 3) = .Cells(2, 3)
  28.         .Cells(Pos, 4) = .Cells(2, 4)
  29.         .Cells(Pos, 5) = .Cells(2, 5)
  30.         .Cells(Pos, 6) = .Cells(2, 6)
  31.         .Cells(Pos, 7) = .Cells(2, 7)
  32.         .Cells(Pos, 8) = .Cells(2, 8)
  33.         .Cells(Pos, 9) = .Cells(2, 9)
  34.         .Cells(Pos, 10) = .Cells(2, 10)
  35.     End With
  36.    
  37.     Application.OnTime Now + TimeValue(LastMin), "ThisWorkbook.Timer"  ' ¨C LastMin °õ¦æ¤@¦¸
  38. End Sub
½Æ»s¥N½X
¯¬¬P´Á°²¤é´r§Ö¡I
¦Û°Ê°O¿ý¨C¤ÀÄÁ©e¶R½æ§¡­È-½d¨Ò.rar (12.31 KB)

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2012-6-25 08:42 ½s¿è

¦^´_ 17# mead
ªþ¤W¤@­Ó¥i¥HÀH§A»Ý¨D²§°Êªº "¦Û°Ê°O¿ý¨C¤ÀÄÁ©e¶R½æ§¡­È"¡A
¥H«á§A´N¨S¦³·Ð´oªº¨Æ¤F¡I
¦Û°Ê°O¿ý¨C¤ÀÄÁ©e¶R½æ§¡­È.rar (13.96 KB)

P.S. ½Ð±N Time() ¸Ìªº             .Cells(21, 2).Offset(0).Resize(, 9) = .[B12:J12].Value
§ó§ï¦¨                                      .Cells(Pos, 2).Offset(0).Resize(, 9) = .[B2:J2].Value

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2012-6-25 17:34 ½s¿è

¦^´_ 19# mead
§ä¨ì¤F¡A¤w  E-Mail ¹L¥h¤F¡I

TOP

¦^´_ 21# usana642
1. ½Ð±N¤U¦Cµ{¦¡½X½Æ»s¨ì ThisWorkbook ¼Ò²Õ¤º¡A¨Ã¤©Àx¦s¡C
  1. Option Explicit
  2. Dim timerEnabled As Boolean    ' §P©w¶}±Ò¥»¤u§@ªí³æªº®É¬q¬O§_¬°¶}½L«e±Ò°Ê¡C
  3. Dim Pos As Integer             ' ±N¨C¹j "¦h¤Ö®É¶¡" ³B²z®É¬q¡A²¾¨ì¦¹³B¨Ó³B²z¡C

  4. Private Sub Workbook_Open()
  5.     Pos = Sheets("µ¦²¤°O¿ý").Range("B" & Rows.Count).End(xlUp).Row
  6.     If (Pos < 11) Then Pos = 10
  7.     Sheets("µ¦²¤°O¿ý").Cells(4, 2) = Pos

  8.     If (Sheets("µ¦²¤°O¿ý").Range("B6").Value = "") Then Sheets("µ¦²¤°O¿ý").Range("B6").Value = "08:45:00"
  9.     If (Sheets("µ¦²¤°O¿ý").Range("B7").Value = "") Then Sheets("µ¦²¤°O¿ý").Range("B7").Value = "13:45:00"
  10.     If (Sheets("µ¦²¤°O¿ý").Range("B8").Value = "") Then Sheets("µ¦²¤°O¿ý").Range("B8").Value = "00:00:30"
  11.    
  12.     timerEnabled = False

  13.     Call timerStart      ' µ{¦¡¤@±Ò©l¡A«K¥h¦Û°Ê°õ¦æ timerStart
  14. End Sub

  15. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  16.     On Error Resume Next
  17.     Application.OnTime Now + TimeValue("00:00:01"), "ThisWorkbook.Timer", , False
  18.    
  19.     Me.Save
  20. End Sub

  21. Public Sub Timer()
  22.     On Error Resume Next
  23.     If (TimeValue(Now) > Sheets("µ¦²¤°O¿ý").Range("B7").Value) Then Exit Sub
  24.    
  25.     If (TimeValue(Now) >= Sheets("µ¦²¤°O¿ý").Range("B6").Value) Then         ' ¶}½L¡B¦¬½L®É¬q³]©w
  26.         ' ½L¤¤³B²z¡A±N¸ê®Æ¶×¤J¼g¤J¤u§@ªí³æ¤ºÀx¦s¡C

  27.         With Sheets("µ¦²¤°O¿ý")
  28.             .Cells(3, 2) = Time             ' ±N®É¶¡ Show ¦Üµ¦²¤ªº B3 Äæ¦ì

  29.             Pos = Pos + 1                   ' ±NÅܰʦ渹¥[¤@¦æ
  30.             .Cells(4, 2) = Pos

  31.             .Cells(Pos, 1) = Time
  32.             .Cells(Pos, 2).Offset(0).Resize(, 9) = .[B2:J2].Value
  33.         End With
  34.     End If
  35.         
  36.     Call timerStart
  37. End Sub

  38. Sub timerStart()
  39.     If timerEnabled Then
  40.         ' ²Ä¤G¦¸(§t)¥H«á§¡¥H³]©w¤§ "¶¡¹j®É¬q" ¨Ó³B²z°õ¦æ§Çªº§@·~¡C
  41.         Application.OnTime (Now + Sheets("µ¦²¤°O¿ý").Range("B8").Value), "ThisWorkbook.Timer"
  42.     Else
  43.         timerEnabled = True
  44.         
  45.         ' ±N²Ä¤@¦¸±Ò°Ê®É¶¡§ó§ï¬°³]©w "¶}½L®É¶¡"«e¡A¦pªG¶}±Ò Excel ®É¡A¤w¸g¹L¤F³]©w "¶}½L®É¶¡"¡A«h¤@¶i¤J¨t²Î§Yª½±µ¥h°õ¦æ¬ö¿ý§@·~¡C
  46.         If (TimeValue(Now) <= Sheets("µ¦²¤°O¿ý").Range("B6").Value) Then
  47.             Application.OnTime (Sheets("µ¦²¤°O¿ý").Range("B6").Value), "ThisWorkbook.Timer"
  48.         Else
  49.             ' ¨t²Î­è³s¤W DDE ¦Ü¸ê®Æ¶×¤JExcel¤u§@ªí³æ¡A¶·¦³¤@­Ó½w½Ä®É¬q¡A
  50.             ' ³o®É¦pªG°¨¤W¥h§ì¨úDDE¸ê®Æ¡A·|¦³«¬ºA¤£²Åªº¿ù»~°T®§²£¥Í¡A¨Ã¤¤Â_°õ¦æ§Çªº§@·~¡C
  51.             Application.OnTime (Now + TimeValue("00:00:05")), "ThisWorkbook.Timer"
  52.         End If
  53.     End If
  54. End Sub
½Æ»s¥N½X
2. ¤u§@ªí³æ¤º®e¦p¹Ï¡A½Ð°Ñ¦Ò¥¦»Pµ{¦¡½X¶¡ªºÃö«Y¤Î¹B§@¡C

3. ¥H¤W§¹¦¨«á¡A¥ý±N¥»±M®×Àx¦s¨ÃÂ÷¶}¡C
4. ±µ¤U¨Ó¥ý¥´¶}¨é°Ó³nÅé
    (Ä´¦p¡G§A»s§@ªº¤u§@ªí³æ¬O¸ò­þ¤@®a¨é°Ó³s½uªº¡A¦p EasyWin¡BeLeader¡B©Î¨ä¥L¨é°Ó³s½u³nÅé)¡A
    µM«á±Ò°Ê§A»s§@ªº "¦Û°Ê°O¿ý¨C¤ÀÄÁ©e¶R½æ§¡­È"  Excel¡A¨Ã¦P®É³s¤W¨é°Ó³s½u³nÅé¡A´N¤j¥\§i¦¨¤F¡I

§Æ±æ¥¦¯à§U¯q©ó§A¡A¨Ã¯àÀ°§U§A§ó¤W¤@¼h¼Ó¡C

TOP

¦^´_ 25# steveyeh168
¨S E-Mail Address ¦p¦ó±Hµ¹§A¡H

TOP

ÁÂÁÂC_C_lai......

¦A¦¸·PÁÂ~*_*
steveyeh168 µoªí©ó 2012-9-23 02:35

¦Û°Ê°O¿ý¨C¤ÀÄÁ©e¶R½æ§¡­È.rar (13.96 KB)

TOP

        ÀR«ä¦Û¦b : ¡i°µ¤Hªº¶}©l¡j¨C¤@¤Ñ³£¬O¬G¤Hªº¶}©l¡A¨C¤@­Ó®É¨è³£¬O¦Û¤vªºÄµ±§¡C
ªð¦^¦Cªí ¤W¤@¥DÃD