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

[µo°Ý] ½Ð°Ý¦p¦ó§Q¥ÎDDE´£¨Ñªº®É¶¡¼Æ¾Ú©w´Á¬ö¿ý¦bexcel¬¡­¶Ã¯

¦U¦ì¤j¤j:
¤p§Ì±q¥L³B¨ú±o¤@­Ó¬ö¿ý¨C¤ÀÄÁ§Y®É´Á³f³ø»ù¸ê®Æªºµ{¦¡­×§ï¦p¤U¡A
¦ý¬O´Á³fªº¶}½L®É¶¡08:45:00¸Óµ§¸ê®Æ¤@ª½³£µLªk¦¨¥\°O¿ý¤U¨Ó
¤£ª¾¥i§_½Ð±Ð¦U¦ì«e½úÀ°¦£¨ó§U¤@¤U¬Ý¬O§_¦³»Ý­n­×§ïªº¦a¤è
ÁÂÁÂ



Sub myPrg()

  If Timer >= 31440 And Timer <= 49560 Then '¦­¤W8:44°_¦Ü13:46¤î
    ActiveSheet.Cells(Int((Timer - 31440) / 60) + 4, 3).Value = Range("C2").Value '¨C60¬í,©¹¤U¤@¦C, ¶ñ³Ì·s¼Æ­È
    ActiveSheet.Cells(Int((Timer - 31440) / 60) + 4, 4).Value = Range("D2").Value '¨C60¬í,©¹¤U¤@¦C, ¶ñ³Ì·s¼Æ­È
    ActiveSheet.Cells(Int((Timer - 31440) / 60) + 4, 5).Value = Range("E2").Value '¨C60¬í,©¹¤U¤@¦C, ¶ñ³Ì·s¼Æ­È
    ActiveSheet.Cells(Int((Timer - 31440) / 60) + 4, 6).Value = Range("F2").Value '¨C60¬í,©¹¤U¤@¦C, ¶ñ³Ì·s¼Æ­È
    ActiveSheet.Cells(Int((Timer - 31440) / 60) + 4, 7).Value = Range("G2").Value '¨C60¬í,©¹¤U¤@¦C, ¶ñ³Ì·s¼Æ­È
   
    Call Timer2 ' <------- §ï¬°Timer2
  End If
   
End Sub

Sub Timer2()
'¨C60¬í°õ¦æ "myPrg" ³o­Ó°Æµ{¦¡
   Application.OnTime Now + 60 / 86400#, "myPrg"
      
End Sub
Sub StartTimer()
  
'±q±Ò°Êexcel ¶}©lªº¨º¤@¨è°_, ¦b60-(timer  mod 60)¬í (¬°¤F¤Á»ô¾ã¬í) «á¶}©l°õ¦æ

   Application.OnTime Now + (60 - (Timer Mod 60)) / 86400#, "myPrg"
      
End Sub

TOP

§Ú¦Û¦æ­×§ï§aÀɮײ¾¸m¨ìRTD ¸ê®ÆÂ^¨ú¡A³£¥i¥¿±`¹B§@¡A¤]¨S¦³¦A¥X²{­«ÂаO¿ý¡C«D±`·PÁÂGBKEE¤j¤jÀ°§U¡C

TOP

ªþ¤W ¥Ñµ{¦¡¤W°O¿ý¸ê®Æ±¡ªp»¡©ú.....

60        92        50        16        77        45        61        61        46        78        82        28        85        46        47        39        21        102        34        15        12        23        22:16:00
65        19        54        105        26        49        34        49        21        80        51        102        21        86        37        21        59        63        100        68        37        45        22:17:00   ...­«ÂЬۦP®É¶¡....
91        96        71        48        11        82        77        47        104        54        53        105        15        64        100        48        106        81        32        106        38        45        22:17:00
40        66        40        42        45        14        106        31        87        41        49        33        99        88        31        85        81        17        61        14        34        19        22:18:00
54        107        80        107        49        83        73        64        26        34        83        97        57        14        59        35        87        27        87        49        34        71        22:19:00
97        46        67        103        32        78        65        92        83        43        29        91        79        108        53        67        50        15        54        40        33        35        22:20:00
26        22        76        72        91        30        29        72        88        57        73        25        81        50        67        87        92        93        66        25        64        24        22:21:00.......¦P®É°O¿ý¤F2µ§¬Û¦P®É¶¡¡A¦ý¸ê®Æ¤£¦P
37        55        69        49        65        97        22        101        105        49        72        101        60        14        101        49        93        32        71        88        60        102        22:21:00
95        22        22        16        86        50        101        83        101        95        76        92        54        88        93        105        31        95        29        102        26        10        22:22:00
57        69        35        60        52        75        48        28        80        58        100        104        21        103        25        74        40        29        72        75        77        54        22:23:00............³o¸Ì³£¥¿±`¾ã®É°O¿ý
18        102        29        58        41        17        22        104        47        18        88        105        54        31        91        101        67        76        38        74        29        40        22:24:00
10        66        38        68        36        28        18        49        13        68        31        10        83        34        88        97        63        34        82        43        89        90        22:24:00
50        86        74        96        55        46        47        89        71        90        92        25        62        105        69        31        61        78        40        51        79        16        22:25:00
47        78        14        31        83        53        92        51        70        68        78        102        82        88        36        32        62        25        101        72        55        12        22:25:00
57        46        57        78        84        98        83        90        96        70        89        38        104        97        33        84        80        54        28        100        54        103        22:26:00
88        81        18        84        59        81        53        70        35        13        11        29        45        70        105        34        31        82        69        40        105        20        22:26:00

TOP

¦]¥Ø«eµLªÑ¥«¸ê°T¥iÂ^¨ú¡A§Ú¥Î¥t¤@­Ó¦Û°Ê²£¥Í¶Ã¼Æ¨Ó´ú¸Õ¾ã®É¸ê®ÆÂ^¨ú¡C

¦b¸ê®ÆÂ^¨úªº½T¸Ñ¨M¤F¾ã®Éªº³¡¥÷¡A¥u¤£¹L¦b°O¿ý¸ê®Æ®É¬°¦ó·|¥X²{¬Û¦P®É¶¡(ex ¡G 00:05:00) ³sÄò°O¿ý2µ§¬Û¦P¸ê®Æ¡H¦³®É­Ô¤S¥i¥¿±`¨Ì§Ç°O¿ý¡H

ªþ¤Wµ{¦¡¤º®e¡A¬O§_¦³»Ý­n­×¥¿ªº¦a¤è¨Ó¸Ñ¨M¤W­z°ÝÃD¡H


If Time > TimeValue(EndTime) Then '¦¬½L®É¶¡¥H«á¤£°õ¦æ
    Sht2.[W4] = "¤w¹L¦¬½L®É°Ý"
    uMode = 0
    Exit Sub
End If
Sht2.Range("W2") = Time '·í«e®É¶¡¡]®É¶¡½Xªí¡^
'----------------------------------------------------------
'¨C1¤ÀÄÁ°O¿ý Mod 1
If Second(Time) = 0 And Minute(Time) Mod 1 = 0 Then
   xRow = Sht1.Range("A65536").End(xlUp).Row + 1
   Sht1.Range("A" & xRow & ":V" & xRow).Value = Sht2.Range("A2:V2").Value
   Sht1.Range("W" & xRow).Value = Time
   '------------------------------------------------
   If ActiveSheet.Name = Sht1.Name And xRow > 25 Then
      ActiveWindow.ScrollRow = xRow - 15 'Åý³Ì·s¸ê®Æ«O«ù¦b¥i¨£µøµ¡¤¤
   End If
   ThisWorkbook.Save   '¦sÀÉ
   Beep
End If
Application.OnTime TimeSerial(Hour(Time), Minute(Time) + 1, 0), "¦Û°Ê°O¿ý"  '¨C1¤À°O¿ý¤@¦¸
End Sub

Sub ¶}©l°õ¦æ()
If uMode = 1 Then Exit Sub
Call ¦@¥Î°Ñ·Ó
uMode = 1
Sht2.[W4] = "°õ¦æ¤¤.."
Call ¦Û°Ê°O¿ý
End Sub

Sub °±¤î°õ¦æ()
uMode = 0
Call ¦@¥Î°Ñ·Ó
Sht2.[W4] = "¤w°±¤î"
End Sub

¥t¥~½Ð±Ð¬O§_¤£¯à¦P®É¶}±Ò2­Ó¥H¤Wexcel ÀÉ2­Ó¿W¤Oªº VBAµ{¦¡¡H¦]¬°§Ú¶}¤F2­ÓexcelÀɮסA¦ý³£¥u¬Ý¨ì¤@­Ó VBAÀÉ¡A¦Ó¥B¦ü¥G·|¬Û¤á¤zÂZ¡H¡H

ÁÂÁÂ

TOP

·PÁ¶W¯Åª©¥D¥Î"¶W¯Å"³t«×À°¦£¸Ñ¨M°ÝÃD¡C¥¿¦b´ú¸Õ¤¤¡IÁÂÁ¡C

TOP

¦^´_ 10# tonytw66
¸Õ¸Õ¬Ý
  1. Application.OnTime TimeSerial(Hour(Time), Minute(Time) + 1, 0), "¦Û°Ê°O¿ý"
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¤j®a¦n¡A§Ú¦³¸òbarrykuo¤j¤j¦³¬Û¦Pªº°ÝÃD¡A´N¬O·QÂ^¨úDDEªº"¾ã®É"¸ê®Æ( ex ¡G00:01:00¡B00:02:00....)
¡A¦]¬°§Ú¹ïVBA¨S¦³°ò¦¡A¥u¬Oª¦¤å§ì¾A¥Îµ{¦¡¨Ó­×§ï¡C¦ý¦b¾ã®É¸ê®ÆÂ^¨ú¤W¤´µLªkÀò±o¸Ñ¨M¡C
¥Ø«e§Ú§â
Application.OnTime Now + TimeValue("00:00:0" & 59 - Second(Time) Mod 1), "¦Û°Ê°O¿ý"   '¨C1¤ÀÄÁ»¼°j¤@¦¸
­×§ï¦¨³o¼Ë¡A¦ý¦b°O¿ý¸ê®Æ®É¡AµLªk±o¨ì"·Ç®É"°O¿ý¡AÁÙ¥X²{1¤À¤º°O¿ý2¦¸¡B©ÎªÌ¹j¤F´X¤À³£¨S°ÊÀR....¡C

¦]¬°§ÚªºÅv­­¤£¯à¤U¸übarrykuo¤j¤jµ{¦¡¨Ó¤ñ¸û¡A©Ò¥H«¨¥X§Úªºµ{¦¡¡A½Ð±Ð¦U¦ì«e½ú¦p¦ó¸Ñ¨M¡C
Public uMode&, StartTime, EndTime

Sub ¦@¥Î°Ñ·Ó()
StartTime = "08:29:30"  '¶}½L®É¶¡¡]´£¦­¤Q¬í¶}©l¡A¤~¥i°O¿ý¶}½L¶q»ù¡^
EndTime = "23:59:59"    '´ú¸Õ®É¶¡¨Ï¥Î
End Sub

Sub ¦Û°Ê°O¿ý()
Dim MyBook As Workbook, MySht As Worksheet, xEnd As Range
'--------------------------------------------------------------------------
If uMode = 0 Then Exit Sub
If Time > TimeValue(EndTime) Then Exit Sub '¦¬½L®É¶¡¥H«á¤£°õ¦æ
Set MyBook = ThisWorkbook
Set MySht = MyBook.Sheets("DDE")
'Åýµ{¦¡¥u¦b¥»Àɮתº¡e«ü©w¤u§@ªí¡f¤¤°õ¦æ¡A§_«h·|±N¸ê®Æ¼g¨ì¨ä¥¦¤u§@ªí
MySht.Range("AA6") = Time '·í«e®É¶¡¡]®É¶¡½Xªí¡^
'----------------------------------------------------------
If Val(MySht.Range("AA11").Value) > 0 Then
   Set xEnd = MySht.Range("A65536").End(xlUp)(2)
   If xEnd.Row < 12 Then Set xEnd = MySht.Range("A12")
   MySht.Range("A11:Z11").Value = MySht.Range("A6:Z6").Value
   xEnd.Resize(1, 26).Value = MySht.Range("A2:Z2").Value
   xEnd(1, 27).Value = Time
   '------------------------------------------------
   If ActiveSheet.Name = MySht.Name And xEnd.Row > 20 Then
      ActiveWindow.ScrollRow = xEnd.Row - 8 'Åý³Ì·s¸ê®Æ«O«ù¦b¥i¨£µøµ¡¤¤
   End If
   ThisWorkbook.Save   '¦sÀÉ
End If
'----------------------------------------------------------
'¨C¤@¤À»¼°j¤@¦¸
Application.OnTime Now + TimeValue("00:00:0" & 59 - Second(Time) Mod 1), "¦Û°Ê°O¿ý"
End Sub

Sub ¶}©l°õ¦æ()
Call ¦@¥Î°Ñ·Ó
uMode = 1
Call ¦Û°Ê°O¿ý
End Sub

Sub °±¤î°õ¦æ()
uMode = 0
End Sub

TOP

¦^´_ 8# c_c_lai
ÁÂÁÂc_c_lai¤j¤j¼ö¤ß«ü¾É!
¤H¥Í¥u¦³¤T¤Ñ¡A¥u¦³¬¡¦b¤µ¤Ñ³Ì½ñ¹ê

TOP

¦^´_ 7# barrykuo
¨º¥u¦n°t¦X¹ê»Úµo¥Íªº¼Æ¾Ú¥h¾÷°Ê§PÂ_¤F¡C

TOP

¦^´_ 6# c_c_lai
C_C_lai¤j¤j¡I
¹ï¤£°_§Ñ°O§R°£5K¬ÛÃö±Ô­z¡C
±z´£ªº¤è®×¬O¾ã°£§PÂ_¾l¼Æ¬°¹s®É¡A¶i¦æ°O¿ý¡C
§Úªº°ÝÃD¬ODDE¼Æ¾Ú³s½u¶i¨Ó¡A¸g¹LÆ[¹î¦³®É¤£¤@©w¥¿ÂI·|¦³¼Æ¾Ú¡A©Ò¥H¤£¤@©w¯à¾ã°£¡A¨Ò¦p¡G09:44:58¥X²{¤@¤ñ¸ê®Æ¡AµM«á¦b09:45:01¤~¥X²{¥t¤@µ§¸ê®Æ¡A³o®É«e¤@¤p®Éªº¼Æ¾ÚÀ³¸Ó¥u¨ì09:44:58¥²¶·§¹¦¨²Î­p¡C
¤~¿é¾Ç²L¡AÁÂÁ±z­@¤ß±Ð¾É¡I
¤H¥Í¥u¦³¤T¤Ñ¡A¥u¦³¬¡¦b¤µ¤Ñ³Ì½ñ¹ê

TOP

        ÀR«ä¦Û¦b : ¦³®É·í«äµL®É­W¡A¦n¤Ñ­n¿n«B¨Ó³¡C
ªð¦^¦Cªí ¤W¤@¥DÃD