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

½Ð°Ý¦p¦ó§ï¦¨K´ÎÅã¥Ü?

¨Ì§A¥Ø«eªº»Ý¨D¨Ó»¡¡A­n¥H¦hªÅ¤O¹D¡B¤Ï¦V¶Õ¤O¡B¥D¤O±±½Lªº¸ê®Æ¦C¨Ó³B²zªº¸Ü¡A
¬O¦³Ãø«×¡A¦Ó¥B§Ú¥»¨­¬O¤£ ...
c_c_lai µoªí©ó 2012-5-26 15:59

·PÁÂc_c_lai ¤j¤j³o»ò¼ö¤ßªºÀ°¦£
§Ú¦Û¦æ´ú¸Õ¬Ý¬Ý
ÁÂÁÂ
·P®¦¦A·P®¦

TOP

¨Ì§A¥Ø«eªº»Ý¨D¨Ó»¡¡A­n¥H¦hªÅ¤O¹D¡B¤Ï¦V¶Õ¤O¡B¥D¤O±±½Lªº¸ê®Æ¦C¨Ó³B²zªº¸Ü¡A
¬O¦³Ãø«×¡A¦Ó¥B§Ú¥»¨­¬O¤£ ...
c_c_lai µoªí©ó 2012-5-26 15:59

c_c_lai ¤j¤j§Ú¦pªþ¥ó¾ã¦X¤@¤U
¦n¹³¤£¦æ£z£°  ³£¬O1¬í¬ö¿ý  µLªk1¤À§PÂ_!
©êºp!¦]µ{¦¡©³¤l¤£¦n  ¥u¯à¨Ì¼Ëµe¸¬Äª
³Â·Ð«ü¥¿

ÁÂÁ  ·P®¦

0526¤¸¤j°O¿ý¶qºAOHLC.rar (21.78 KB)

TOP

¦^´_ 7# mead
´Á³f§Y®É¶qºA½u.rar (18.49 KB) °Ñ¦Ò¤@¤U30¬í+K½u¹Ïtext

TOP

¦^´_  mead
°Ñ¦Ò¤@¤U30¬í+K½u¹Ïtext
f3202 µoªí©ó 2012-5-27 08:54

ÁÂÁÂf3202¤j¤j¼ö¤ßÀ°¦£
¦ý¦]Åv­­¤£°÷  ¬O§_³Â·Ð±H¨ì§Úªºmail:
[email protected]

·P®¦¦A·P®¦

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2012-5-28 08:01 ½s¿è

¦^´_ 14# mead
¬Ý¤F¤@¤U§A¨º¤T¦X¤@ªºµ{¦¡¡A§Ú±N¥¦¾ã²z¤F¤@¤U (§Aª½±µ¶K¤W´N OK ¤F¡A¥t¥~§Ú¤]·|±NÀÉ®×E-Mailµ¹§A)¡G
  1. ' ¥H¦hªÅ¤O¹D¡B¤Ï¦V¶Õ¤O¡B¥D¤O±±½Lªº¸ê®Æ¦C¨Ó³B²z
  2. Option Explicit
  3. Dim timerEnabled As Boolean  '
  4. Dim Ov(1 To 3), Hv(1 To 3), Lv(1 To 3), Cv(1 To 3) As Single  ' ¶}½L»ù¡B³Ì°ª»ù¡B³Ì°ª»ù¡B¦¬½L»ù(¦¨¥æ»ù) µ¥³]©w¤§ÅܼơC
  5.                                                               ' §ï¥H°}¦C³B²z¡C(1. ¦hªÅ¤O¹D¡B2. ¤Ï¦V¶Õ¤O¡B3. ¥D¤O±±½L)
  6. Dim turnKey As Integer   ' §PÂ_¨C¤@½ü°j¤W¦CÅܼƪì©l­È¤§³]©w¡C
  7. Dim nums As Integer      ' ±N¨C¹j "¦h¤Ö®É¶¡" ³B²z®É¬q¡A²¾¨ì¦¹³B¨Ó³B²z¡C

  8. Private Sub Workbook_Open()
  9.     Sheets("µ¦²¤°O¿ý").Cells(4, 2) = 10
  10.    
  11.     nums = 30            ' ³]©w¨C¹j 30 ¬í³B²z®É¬q¡A¥ç¥i§ó§ï¦¨ 30 (¨C¹j 30 ¬í)¡B 10 (¨C¹j 10 ¬í)¡B20 (¨C¹j 20 ¬í)µ¥µ¥¡C
  12.     timerEnabled = False ' ¦¹³B¤£«Øij¨Ï¥Î 1 ¬í®É¬q¨Ó³B²z¡A¦]¬°ÁÙ­n¥h¨D¥X¶}½L¡B³Ì°ª¡B³Ì§C¡B¦¨¥æ»ù¡C

  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. End Sub

  19. Public Sub Timer()
  20.     Dim Pos As Integer
  21.    
  22.     On Error Resume Next
  23.     ' Sheets("µ¦²¤°O¿ý").Cells(2, 1) = Time '±N®É¶¡show¦Üµ¦²¤ªºa2Äæ¦ì
  24.    
  25.      If (TimeValue(Now) >= TimeValue("08:45:00") And TimeValue(Now) <= TimeValue("13:46:01")) 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(4, 2).Value = Cells(4, 2).Value + 1 '±NÅܰʦ渹¥[¤@¦æ

  29.             Pos = Cells(4, 2).Value
  30.             
  31.             Cells(Pos, 1).Value = Time
  32.             Cells(Pos, 2).Value = Ov(1)    ' B Äæ
  33.             Cells(Pos, 3).Value = Hv(1)    ' C Äæ
  34.             Cells(Pos, 4).Value = Lv(1)    ' D Äæ
  35.             Cells(Pos, 5).Value = Cv(1)    ' E Äæ

  36.             Cells(Pos, 6).Value = Ov(2)    ' F Äæ
  37.             Cells(Pos, 7).Value = Hv(2)    ' G Äæ
  38.             Cells(Pos, 8).Value = Lv(2)    ' H Äæ
  39.             Cells(Pos, 9).Value = Cv(2)    ' I Äæ

  40.             Cells(Pos, 10).Value = Ov(3)   ' J Äæ
  41.             Cells(Pos, 11).Value = Hv(3)   ' K Äæ
  42.             Cells(Pos, 12).Value = Lv(3)   ' L Äæ
  43.             Cells(Pos, 13).Value = Cv(3)   ' M Äæ
  44.         End With
  45.     End If
  46. End Sub

  47. Sub ExeSelf()
  48.     timerEnabled = True

  49.     If IsError(Sheets("µ¦²¤°O¿ý").Range("B2").Value) Then ' °²³] B2 Äæ¦ì¬°¦hªÅ¤O¹D
  50.         Cv(1) = 0
  51.         Cv(2) = 0
  52.         Cv(3) = 0
  53.     Else
  54.         Cv(1) = Sheets("µ¦²¤°O¿ý").Range("B2").Value   ' ¦hªÅ¤O¹D¦¨¥æ»ù
  55.         Cv(2) = Sheets("µ¦²¤°O¿ý").Range("C2").Value   ' ¤Ï¦V¶Õ¤O¦¨¥æ»ù
  56.         Cv(3) = Sheets("µ¦²¤°O¿ý").Range("D2").Value   ' ¥D¤O±±½L¦¨¥æ»ù
  57.     End If

  58.     If (turnKey = 0 Or Ov(1) = 0) Then                 ' ·í turnKey ­È¬°0¡Aªí¥Ü¨ä¬°ªì©l­È³]©w¡C¬°¦Ò¶q¨t²Î­è³s¤W DDE¡A
  59.                                                        ' ¦³®É¦b²Ä¤@®Ú¼Æ­È²£¥Í®É Ov = Cv ­È¥i¯à¬° 0 (IsError()ªºª¬ºA)¡C
  60.         Ov(1) = Cv(1)                                  ' ¦hªÅ¤O¹D¶}½L»ùªì©l­È³]©w
  61.         Hv(1) = Cv(1)                                  ' ¦hªÅ¤O¹D³Ì°ª»ùªì©l­È³]©w
  62.         Lv(1) = Cv(1)                                  ' ¦hªÅ¤O¹D³Ì§C»ùªì©l­È³]©w

  63.         Ov(2) = Cv(2)                                  ' ¤Ï¦V¶Õ¤O¶}½L»ùªì©l­È³]©w
  64.         Hv(2) = Cv(2)                                  ' ¤Ï¦V¶Õ¤O³Ì°ª»ùªì©l­È³]©w
  65.         Lv(2) = Cv(2)                                  ' ¤Ï¦V¶Õ¤O³Ì§C»ùªì©l­È³]©w

  66.         Ov(3) = Cv(3)                                  ' ¥D¤O±±½L¶}½L»ùªì©l­È³]©w
  67.         Hv(3) = Cv(3)                                  ' ¥D¤O±±½L³Ì°ª»ùªì©l­È³]©w
  68.         Lv(3) = Cv(3)                                  ' ¥D¤O±±½L³Ì§C»ùªì©l­È³]©w
  69.     End If

  70.     turnKey = turnKey + 1

  71.     If (Cv(1) > Hv(1)) Then Hv(1) = Cv(1)              ' §PÂ_¦hªÅ¤O¹D³Ì°ª»ù
  72.     If (Cv(2) > Hv(2)) Then Hv(2) = Cv(2)              ' §PÂ_¤Ï¦V¶Õ¤O³Ì°ª»ù
  73.     If (Cv(3) > Hv(3)) Then Hv(3) = Cv(3)              ' §PÂ_¥D¤O±±½L³Ì°ª»ù

  74.     If (Cv(1) < Lv(1)) Then Lv(1) = Cv(1)              ' §PÂ_¦hªÅ¤O¹D³Ì§C»ù
  75.     If (Cv(2) < Lv(2)) Then Lv(1) = Cv(2)              ' §PÂ_¤Ï¦V¶Õ¤O³Ì§C»ù
  76.     If (Cv(3) < Lv(3)) Then Lv(1) = Cv(3)              ' §PÂ_¥D¤O±±½L³Ì§C»ù

  77.     If (turnKey < nums) Then
  78.         Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.ExeSelf"
  79.     Else
  80.         If (Cv(1) <> 0) Then Call Timer
  81.         ' Call Timer
  82.         Call timerStart
  83.     End If
  84. End Sub

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

  87.     If timerEnabled Then
  88.         ' Application.OnTime (Now), "ThisWorkbook.ExeSelf"      
  89.        [color=Red]Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.timerOnTimer"[/color]
  90.     Else
  91.         ' ¨t²Î­è³s¤W DDE ¦Ü¸ê®Æ¶×¤JExcel¤u§@ªí³æ¡A¶·¦³¤@­Ó½w½Ä®É¬q¡A³o®É¦pªG°¨¤W¥h§ì¨úDDE¸ê®Æ¡A·|¦³«¬ºA¤£²Åªº¿ù»~°T®§²£¥Í¡A¨Ã¤¤Â_°õ¦æ§Çªº§@·~¡C
  92.         Application.OnTime (Now + TimeValue("00:00:05")), "ThisWorkbook.ExeSelf"
  93.     End If
  94. End Sub
½Æ»s¥N½X
¦³Ãö³]©w¶¡®æ®É¬q¥i¨Ì­Ó¤H»Ý¨D¦Ó³]¸m (­Ó¤H¬O¿ï¾Ü B¡B©Î C¡A B ¬O¼g¦º¦bµ{¦¡¤º¡A C ¥i±q¤u§@ªí³æ¤º¤§"A5"Äæ¦ì¨Ì­Ó¤H»Ý¨D¥h¥~³¡§ó§ï)
(A) LastMin = Hour(Time) * 3600 + Minute(Time) * 60 + Second(Time) ¬O¨D¥X²{¦b®É¶¡¤§´«ºâ­È¡A
      ¦p¡G²{¦b¬O 11:25:10¡A «h LastMin = 41110 ¬í¡F
(B) ½d¨Ò¤¤ªº nums = 30¡A ¬Oª½±µ³]©w¬° 30 ¬í¡F
(C) ³]©w¤@©T©wÄæ¦ì (°²³]¬° "A5")¡A¨äÄæ¦ì­Èª½±µ¿é¤J 00:00:30¡C
      nums = Hour(Cells(5,1).Value) * 3600 + Minute(Cells(5,1).Value) * 60 + Second(Cells(5,1).Value)
     «h nums =  30 ¬í¡C   
P.S. ¦pªG§A·Q­nÆF¬¡¹B§@ªº¸Ü¡A ¥i¿ï¾Ü C ¶µ¡A¸û¦³¼u©Ê¡A A ¶µµ{¦¡½X¦b³B²z¤W·|µL¿×ªº¼W¤j
       (¦p¥[¤W¦h¤Ö®É¶¡¦A¥h§P¹ï¤ñ¸û¡AµM«á¤S¦A¨D±o¥Ø«e®É¶¡µ¥)¡C
ªþ¤Wµ{¦¡°õ¦æµe­±¦@ÀÀ°Ñ¦Ò¡G

0526¤¸¤j°O¿ý¶qºAOHLC.rar (22.53 KB)

TOP

¦^´_  mead
¬Ý¤F¤@¤U§A¨º¤T¦X¤@ªºµ{¦¡¡A§Ú±N¥¦¾ã²z¤F¤@¤U (§Aª½±µ¶K¤W´N OK ¤F¡A¥t¥~§Ú¤]·|±NÀÉ®×E-Mailµ¹ ...
c_c_lai µoªí©ó 2012-5-27 12:16

¤F¸Ñ  ·PÁÂc_c_lai ¤j¤jªº¼ö¤ß¨ó§U

§Ú´ú¸Õ¤@¤U

ÁÂÁÂ

·P®¦¦A·P®¦

TOP

  1. Sub Timer()
  2. Dim HHMM As Integer
  3. On Error Resume Next
  4. ' Sheets("µ¦²¤°O¿ý").Select
  5. Sheets(2).Cells(2, 1) = Time '±N®É¶¡show¦Üµ¦²¤ªºb3Äæ¦ì
  6. HHMM = Hour(Time) * 100 + Minute(Time)
  7.   If (HHMM < 845 Or HHMM > 1345) Then Exit Sub 'Àç·~®É¶¡¤~°õ¦æ
  8.   If Minute(Time) <> LastMin Then '¶}©l«á°µ
  9.     i = i + 1
  10.     If i = 60 Then

  11. Sheets(2).Range("a10000").End(xlUp).Offset(1, 0) = Time
  12. Sheets(2).Range("a10000").End(xlUp).Offset(0, 1) = O
  13. Sheets(2).Range("a10000").End(xlUp).Offset(0, 2) = H
  14. Sheets(2).Range("a10000").End(xlUp).Offset(0, 3) = L
  15. Sheets(2).Range("a10000").End(xlUp).Offset(0, 4) = C
  16.   
  17. Sheets(2).Range("a10000").End(xlUp).Offset(0, 5) = O1
  18. Sheets(2).Range("a10000").End(xlUp).Offset(0, 6) = H1
  19. Sheets(2).Range("a10000").End(xlUp).Offset(0, 7) = L1
  20. Sheets(2).Range("a10000").End(xlUp).Offset(0, 8) = C1

  21. Sheets(2).Range("a10000").End(xlUp).Offset(0, 9) = O2
  22. Sheets(2).Range("a10000").End(xlUp).Offset(0, 10) = H2
  23. Sheets(2).Range("a10000").End(xlUp).Offset(0, 11) = L2
  24. Sheets(2).Range("a10000").End(xlUp).Offset(0, 12) = C2
  25.      i = 0
  26.       O = Sheets(2).Cells(2, 2)
  27.       H = Sheets(2).Cells(2, 2)
  28.       L = Sheets(2).Cells(2, 2)
  29.       C = Sheets(2).Cells(2, 2)
  30.         
  31.      O1 = Sheets(2).Cells(2, 3)
  32.      H1 = Sheets(2).Cells(2, 3)
  33.      L1 = Sheets(2).Cells(2, 3)
  34.      C1 = Sheets(2).Cells(2, 3)
  35.      
  36.      O2 = Sheets(2).Cells(2, 4)
  37.      H2 = Sheets(2).Cells(2, 4)
  38.      L2 = Sheets(2).Cells(2, 4)
  39.      C2 = Sheets(2).Cells(2, 4)
  40. Else
  41.      C = Sheets(2).Cells(2, 2)
  42.      If H = "" Then H = Sheets(2).Cells(2, 2)
  43.      If C >= H Then H = C
  44.      If C < L Then L = C
  45.      If O = 0 Then O = Sheets(2).Cells(2, 2) Else O = O
  46.      If L = 0 Then L = Sheets(2).Cells(2, 2) Else L = L
  47.    
  48.      C1 = Sheets(2).Cells(2, 3)
  49.      If H1 = "" Then H1 = Sheets(2).Cells(2, 3)
  50.      If C1 >= H1 Then H1 = C1
  51.      If C1 < L1 Then L1 = C1
  52.      If O1 = 0 Then O1 = Sheets(2).Cells(2, 3) Else O1 = O1
  53.      If L1 = 0 Then L1 = Sheets(2).Cells(2, 3) Else L1 = L1
  54.    
  55.      C2 = Sheets(2).Cells(2, 4)
  56.      If H2 = "" Then H2 = Sheets(2).Cells(2, 4)
  57.      If C2 >= H2 Then H2 = C2
  58.      If C2 < L2 Then L2 = C2
  59.      If O2 = 0 Then O2 = Sheets(2).Cells(2, 4) Else O1 = O1
  60.      If L2 = 0 Then L2 = Sheets(2).Cells(2, 4) Else L2 = L2
  61.   End If
  62.         LastMin = Minute(Time)
  63.   End If
  64. Application.OnTime Now + TimeValue("00:00:01"), "Timer" '¨C¬íÅã¥Ü
  65. End Sub
½Æ»s¥N½X
¦^´_ 14# mead
¸Õ¬Ý¬Ý

TOP

¦^´_  mead
¸Õ¬Ý¬Ý
f3202 µoªí©ó 2012-5-27 17:42

¥i¥H¤F  ©ú¤Ñ¶}½L¨Ó¸Õ¸Õ

ÁÂÁÂf3202¤j¤jªº¼ö¤ß¨ó§U

·P®¦¦A·P®¦

TOP

        ÀR«ä¦Û¦b : ¡i®É¤é²öªÅ¹L¡j¤@­Ó¤H¦b¥@¶¡°µ¤F¦h¤Ö¨Æ¡A´Nµ¥©ó¹Ø©R¦³¦hªø¡C¦]¦¹¥²¶·»P®É¶¡Ävª§¡A¤Á²ö¨Ï®É¤éªÅ¹L¡C
ªð¦^¦Cªí ¤W¤@¥DÃD