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

¦p¦ó±N¥x«ü´Áªº¨C¤@¤ÀÄÁ¸ê®Æ³£¬ö¿ý¦bsheet 1¸Ì..½Ð±Ðª©¤W°ª¤â«e½ú~~

¦p¦ó±N¥x«ü´Áªº¨C¤@¤ÀÄÁ¸ê®Æ³£¬ö¿ý¦bsheet 1¸Ì..½Ð±Ðª©¤W°ª¤â«e½ú~~

¦U¦ì°ª¤â«e½ú¡G¤¤¬î¨Î¸`§Ö¼Ö

§Ú´¿®M¥Î¡Aª©¤W¤j¤À¨Éªºµ{¦¡½X¡A³s¤W[¬Ý½L³nÅéDDE]«o¤£·|°Ê¡C·Q½Ð°Ýª©¤j¡A§Ú¸Ó«ç»ò§ï¤~¥i¥H¨Ï¥Î¡C
²{¦b§Ú·Q­«·s«Ø¥ß·sªºÀÉ¡A½Ð¥ýÅý§Ú²³æ»¡©ú§Úªº»Ý¨D¡G
1.sheet 4 ¬O¬Ý½L³nÅéDDE¿é¥X¨ìExcelªº¸ê®Æ¡C
2.§Ú§Æ±æ¯à±N¥x«ü´Áªº¨C¤@¤ÀÄÁ¸ê®Æ³£¬ö¿ý¦bsheet 1¸Ì¡A¤£¬Oª½±µ¬ö¿ýDDE¦^¶Çªº¸ê®Æ¡A
  ¦Ó¬O¬ö¿ýsheet 4¨C¤@¤ÀÄÁªº[¦¨¥æ»ù][³Ì°ª][³Ì§C][¦¨¥æ¶q]
¥H¤W¥ÎExcel¤£ª¾¬O§_¥i¦æ¡H½Ð±Ðª©¤W°ª¤â«e½ú~~

ªþ¤W¡G§Úªº[¬Ý½L³nÅéDDE]Âà¥X¨ìExcel¨Sµ{¦¡½Xªº(¦p¹Ï)

TX00a.zip (4.99 KB)

50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

¦^´_ 1# cfuxiong
¤¤¬î¨Î¸`§Ö¼Ö¡I
§Ú¦b Sheet4 ¦h¼W¥[¤@­ÓÄæ¦ì¡A±M¬°³B²z¨C¤@¤ÀÄÁ«á¤§ "¦¨¥æ¶q" ¼Æ¾Ú¡C
¦p¦ó±N¥x«ü´Áªº¨C¤@¤ÀÄÁ¸ê®Æ³£¬ö¿ý.rar (17.24 KB)

TOP

¦^´_ 2# c_c_lai
³Ì¨Îªº¤¤¬î¸`§ª«...¾Öº¡Ãhªº¡y·PÁ¡zµ¹§A[c_c_lai]~~
­è­è´ú¸Õ«Üº¡·N¡A±µµÛµ¥¬P´Á¤@¦A¹ê´ú¤F~~ÁÂÁÂ~~
50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

¬°¤FÅý§ó¦h¤H¶i¤@¨B©úÁA¾ãÅ骺§@·~¹Lµ{¡A¥¼¨Ó¤]¥i¥H¦Û¤v¦b¹ê°È¤W¹ê»Úºt½m
¤Î¼¯ÀÀ¡A¬G±N§@·~µe­±»Pµ{¦¡¤@¨Ö¶Kªþ¤W¨Ó¤À¨É¡C
§Æ±æ¨C­Ó¤H³£¯à±q¤¤¾Ç²ß»â®©¡B¼g¥X§ó¨Îªºµ{¦¡¡A¦A±N¦¨ªG¤À¨É´£¨Ñµ¹¤j®a¡I
  1. Option Explicit

  2. Dim Ov As Single, Hv As Single, Lv As Single, Cv As Single
  3. Dim timerEnabled As Boolean    ' §P©w¶}±Ò¥»¤u§@ªí³æªº®É¬q¬O§_¬°¶}½L«e±Ò°Ê¡C
  4. Public turnKey As Integer

  5. Private Sub Workbook_Open()
  6.     timerEnabled = False
  7.     Sheets("Sheet4").[I2] = Sheets("Sheet4").[H2]     ' ³]©w«e¦¨¥æ¶q
  8.     Call timerStart            ' µ{¦¡¤@±Ò©l¡A«K¥h¦Û°Ê°õ¦æ timerStart
  9. End Sub

  10. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  11.     On Error Resume Next
  12.     Application.OnTime Now + TimeValue("00:00:01"), "ThisWorkbook.RTimer", , False
  13.    
  14.     Me.Save
  15. End Sub

  16. Public Sub RTimer(tm As Date)
  17.     Dim TimeRange As Range, Rng As Range
  18.     Dim pos As Integer
  19.    
  20.     On Error Resume Next
  21.     If (TimeValue(Now) > TimeValue("13:45:00")) Then Exit Sub
  22.    
  23.     If (TimeValue(Now) >= TimeValue("08:45:00")) Then         ' ¶}½L¡B¦¬½L®É¬q³]©w
  24.         ' ½L¤¤³B²z¡A±N¸ê®Æ¶×¤J¼g¤J¤u§@ªí³æ¤ºÀx¦s¡C
  25.         With Sheets("Sheet1")
  26.             If Not IsError(.[B2]) Then
  27.                 .[B1] = "¦¨¥æ»ù"
  28.                 .[C1] = "³Ì°ª»ù"
  29.                 .[D1] = "³Ì§C»ù"
  30.                 .[E1] = "¦¨¥æ¶q"
  31.                
  32.                 Set TimeRange = .[A:A].Find(TimeSerial(Hour(tm), Minute(tm), 0))  ' Àˬd "A" Äæ¦ì¹ïÀ³¤§®É¶¡¸ê®Æ
  33.                 Set Rng = TimeRange.Offset(, 1).Resize(1, 4)
  34.                
  35.                 Rng(1) = Cv                                             ' ¦¨¥æ»ù
  36.                 Rng(2) = Hv                                             ' ³Ì°ª»ù
  37.                 Rng(3) = Lv                                             ' ³Ì§C»ù
  38.                 Rng(4) = Sheets("Sheet4").[H2] - Sheets("Sheet4").[I2]  ' ¦¨¥æ¶q
  39.                 Sheets("Sheet4").[I2] = Sheets("Sheet4").[H2]           ' ­«·s³]©w«e¦¨¥æ¶q
  40.             End If
  41.         End With
  42.     End If
  43. End Sub

  44. Sub timerStart()
  45.     turnKey = 0                  ' ­p¼Æ¾¹­«·sÂk¹s
  46.     Sheets("Sheet4").[A3] = "( " & turnKey & " ¬í )"
  47.    
  48.     If timerEnabled Then
  49.         ' ²Ä¤G¦¸(§t)¥H«á§¡¥H³]©w¤§ "¶¡¹j®É¬q" ¨Ó³B²z°õ¦æ§Çªº§@·~¡C
  50.         Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.inProcess"
  51.     Else
  52.         timerEnabled = True
  53.         
  54.         ' ±N²Ä¤@¦¸±Ò°Ê®É¶¡§ó§ï¬°³]©w "¶}½L®É¶¡"«e¡A¦pªG¶}±Ò Excel ®É¡A¤w¸g¹L¤F³]©w "¶}½L®É¶¡"¡A«h¤@¶i¤J¨t²Î§Yª½±µ¥h°õ¦æ¬ö¿ý§@·~¡C
  55.         If (TimeValue(Now) <= TimeValue("08:45:00")) Then
  56.             Sheets("Sheet1").[B2:E301].ClearContents      ' ²M°£«e¤@¤é¤§¸ê®Æ
  57.             Application.OnTime (TimeValue("08:45:00")), "ThisWorkbook.inProcess"
  58.         Else
  59.             ' ¨t²Î­è³s¤W DDE ¦Ü¸ê®Æ¶×¤JExcel¤u§@ªí³æ¡A¶·¦³¤@­Ó½w½Ä®É¬q¡A
  60.             ' ³o®É¦pªG°¨¤W¥h§ì¨úDDE¸ê®Æ¡A·|¦³«¬ºA¤£²Åªº¿ù»~°T®§²£¥Í¡A¨Ã¤¤Â_°õ¦æ§Çªº§@·~¡C
  61.             Application.OnTime (Now + TimeValue("00:00:05")), "ThisWorkbook.inProcess"
  62.         End If
  63.     End If
  64. End Sub

  65. Private Sub inProcess()
  66.     Static Msg As Boolean          ' ¥Î¥H§P©w¬O§_¬°¨C¤é²Ä¤@¦¸°õ¦æ
  67.     Static timeCalc As Date        ' °O¿ý¨C¤ÀÄÁªº®É¶¡
  68.    
  69.     On Error Resume Next
  70.     If (TimeValue(Now) < TimeValue("08:45:00") Or TimeValue(Now) > TimeValue("13:46:01")) Then Exit Sub
  71.       
  72.     If Msg = False Then
  73.         timeCalc = TimeSerial(Hour(Time), Minute(Time), 0)   ' ³]©w¥Ø«e°_©lªº®É¶¡
  74.         Msg = True
  75.     End If
  76.    
  77.     If IsError(Sheets("Sheet4").Range("B2").Value) Then
  78.         Cv = 0
  79.     Else
  80.         Cv = Sheets("Sheet4").Range("B2").Value    ' ¦¨¥æ»ù
  81.     End If
  82.          
  83.     If (turnKey = 0 Or Ov = 0) Then
  84.         Ov = Cv                                      ' ¶}½L»ù
  85.         Hv = Cv                                      ' ³Ì°ª»ù
  86.         Lv = Cv                                      ' ³Ì§C»ù
  87.     End If
  88.         
  89.     If (Cv > Hv) Then Hv = Cv                        ' ³Ì°ª»ù
  90.     If (Cv < Lv) Then Lv = Cv                        ' ³Ì§C»ù
  91.          
  92.     turnKey = turnKey + 1
  93.     Sheets("Sheet4").[A3] = "( " & turnKey & " ¬í )"
  94.     If Time >= timeCalc + #12:01:00 AM# Then
  95.         If (Cv > 0) Then Call RTimer(Time)
  96.         timeCalc = TimeSerial(Hour(Time), Minute(Time), 0)   ' ­«·s³]©w¤U¤@¤ÀÄÁ¤ñ¹ïªº®É¶¡
  97.         If timerEnabled Then Call timerStart
  98.     Else
  99.         Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.inProcess"
  100.     End If
  101. End Sub
½Æ»s¥N½X

TOP

¦^´_ 4# c_c_lai
c_c_laiª©¤j§A¦n¡F¸g¹L¤T¤Ñªº¹ê´ú¡A¦³®É·|·í¾÷(¸ê®Æ¨S¶i¨Ó)«Ý¦hÆ[´ú´X¤é¦A½Ð±Ð¤F¡A
¾ãÅé¤W«D±`º¡·N~~...ÁÂÁÂ!!
50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

¦^´_ 5# cfuxiong
¦b¶]³o¤äµ{¦¡°õ¦æ¤¤¡A¤Á°O¤Å¶}±Ò¥t¤@°¦Excel µ{¦¡¡A½Ð¦^¾Ð¬Ý¬Ý¬O§_¦³³oºØ±¡§Î¡H
¦pªG¥u¬O³æ¯Â¶]³o°¦ªº¸Ü¡A°£«D¬O¹q¸£¥»¨­¦³ª¬ªp¡A§A»¡ªº±¡ªp¬O¤£¥i¯à·|µo¥Íªº¡I

TOP

¦^´_ 5# cfuxiong
ÁÙ¦³¦pªG¨é°Óªº³nÅé±¾¤F­«·s¶}±Ò¡A EXCEL ¥ç­n¤@¨Ö¥ý¤©Ãö³¬«á¦A¶} (­«·s³sµ²DDE)¡C

TOP

¦^´_ 7# c_c_lai
c_c_laiª©¤j§A¦n¡F¬Q¤Ñ¹ê´ú¬O¦³»P[¶qºA]¦P®É¨Ï¥Î....
¤µ¤Ñ´N¨S°ÝÃD¤F...¨º­n»P[¶qºA]¨Ö¥Î¬O§_´NµL¸Ñ¡H
¦]¬Ý½L³nÅédde¦³[©e¶R½æ¶q]¨S¦³[©e¶R½æµ§¼Æ]¤£¯à­pºâ[¶qºA]~
ÁÂÁ¦^À³»P«ü¾É~~
¯à§_µ¹»P«ü¾É [email protected]
50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

¦^´_  c_c_lai
c_c_laiª©¤j§A¦n¡F¬Q¤Ñ¹ê´ú¬O¦³»P[¶qºA]¦P®É¨Ï¥Î....
¤µ¤Ñ´N¨S°ÝÃD¤F...¨º­n»P[¶qºA]¨Ö¥Î ...
cfuxiong µoªí©ó 2012-10-4 19:10

¯à¤£¯à±N¥¦­Ì¦X¨Ö¦b¤@­Ó EXCEL ¤ºÀ³¥Î¡H
³o¤]¬O§Ú¤@ª½ªº§xÂZ¡A¤£ª¾¬O EXCEL ªº VBA ¬Û¤¬¶¡³B²z©Ò¾É­P¡AÁÙ¬O¨ä¥¦¦]¯À¡H

TOP

¦^´_ 9# c_c_lai
c_c_laiª©¤j§A¦n¡F¤µ¤Ñ´«­ÜDDE¤S­n­«·s«Ø¥ß¡A¨º§Ú­Ì©Ò½s¿èªºVBA­n¦p¦ó²¾Âà¡C
½Ðµ¹¤©«ü¾É...ÁÂÁÂ!!
50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

        ÀR«ä¦Û¦b : ¦³¤ß´N¦³ºÖ¡A¦³Ä@´N¦³¤O¡A¦Û³yºÖ¥Ð¡A¦Û±oºÖ½t¡C
ªð¦^¦Cªí ¤W¤@¥DÃD