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

[µo°Ý] ½Ð±Ð§ì¨ú¤Ó¥­¬vÃÒ¨÷ªºDDE ­n¦p¦ó±q¤¤§ì¨ú¨C¤ÀÄÁªº³Ì¤j¦¨¥æ»ù¤Î³Ì¤p¦¨¥æ»ù

½Ð±Ðc_clai¤j,¦³¿ìªk½L¤¤§Y®Éµe¥X¤@­ÓÁ`©e¶R¤f´î¥hÁ`©e½æ¤fªº¹Ï¶Ü?
ÁÂÁ¦^µª

TOP

¦^´_ 21# ribbits
¹ï¤£°_¡A­è¤~¬°¤F´ú¸Õ¦Ó§ÑÁA±N¥¦§ó§ï¦^¨Ó¡A½Ð±N¤U¦C¤§ Remark ­×¥¿¦^¨Ó¡G
  1. Public Sub ATimer()
  2.     Dim Pos As Long             ' ±N¨C¹j "¦h¤Ö®É¶¡" ³B²z®É¬q¡A²¾¨ì¦¹³B¨Ó³B²z¡C
  3.    
  4.     On Error Resume Next
  5.     ' If (TimeValue(Now) > TimeValue("13:45:00")) Then Exit Sub
½Æ»s¥N½X
¥¿½T¬° (³Ì«á¤@¦æ)¡G
  1. Public Sub ATimer()
  2.     Dim Pos As Long             ' ±N¨C¹j "¦h¤Ö®É¶¡" ³B²z®É¬q¡A²¾¨ì¦¹³B¨Ó³B²z¡C
  3.    
  4.     On Error Resume Next
  5.     If (TimeValue(Now) > TimeValue("13:45:00")) Then Exit Sub
½Æ»s¥N½X
ÁÂÁ¡I

TOP

¦^´_  c_c_lai
§Ú¬O¨Ï¥ÎEASYWINªºdde°T¸¹¡A¦pªG­n¨C30¬í°O¿ý¤@½ë¤W­±©Ò¦³ªº¸ê®Æ¸Ó¦p¦ó¼gVBA?¦]¬°®Mªí¤W¥h ...
ribbits µoªí©ó 2012-9-9 14:31

¶K¤Wµ{¦¡½X¡A¨Ñ§A°Ñ¦Ò¡G
  1. Option Explicit
  2. Dim timerEnabled As Boolean    ' §P©w¶}±Ò¥»¤u§@ªí³æªº®É¬q¬O§_¬°¶}½L«e±Ò°Ê¡C

  3. Private Sub Workbook_Open()
  4.     Dim Pos As Long             ' ±N¨C¹j "¦h¤Ö®É¶¡" ³B²z®É¬q¡A²¾¨ì¦¹³B¨Ó³B²z¡C
  5.     timerEnabled = False

  6.     Pos = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row   ' ¨D¥X¸ÓÄ椧³Ì«á¨Ï¥Î¦C¼Æ
  7.     If (Pos <= 1) Then Pos = 1
  8.     Sheets("µ¦²¤°O¿ý").[A4] = "¤w¶×¤J " & (Pos - 1) & " µ§¸ê®Æ"
  9.     Call timerStart      ' µ{¦¡¤@±Ò©l¡A«K¥h¦Û°Ê°õ¦æ timerStart
  10. End Sub

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

  17. Public Sub ATimer()
  18.     Dim Pos As Long             ' ±N¨C¹j "¦h¤Ö®É¶¡" ³B²z®É¬q¡A²¾¨ì¦¹³B¨Ó³B²z¡C
  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("Data")
  26.             Pos = .Range("B" & Rows.Count).End(xlUp).Row   ' ¨D¥X¸ÓÄ椧³Ì«á¨Ï¥Î¦C¼Æ
  27.             If (Pos <= 1) Then Pos = 1
  28.             Pos = Pos + 1                   ' ±NÅܰʦ渹¥[¤@¦æ
  29.             Sheets("µ¦²¤°O¿ý").[A4] = "¤w¶×¤J " & (Pos - 1) & " µ§¸ê®Æ"

  30.             If Not IsError(Sheets("µ¦²¤°O¿ý").[E2]) Then
  31.                  .Cells(Pos, 1) = Date                              ' ¤é´Á
  32.                  .Cells(Pos, 2) = Time                              ' ®É¶¡
  33.                  .Cells(Pos, 3) = Sheets("µ¦²¤°O¿ý").[E2]           ' ¦¨¥æ»ù
  34.                  .Cells(Pos, 4).Offset(0).Resize(, 3) = Sheets("µ¦²¤°O¿ý").[G2:I2].Value
  35.                  .Cells(Pos, 7) = Sheets("µ¦²¤°O¿ý").[K2]           ' ¦¨¥æ¶q
  36.                 .Cells(Pos, 8).Offset(0).Resize(, 8) = Sheets("µ¦²¤°O¿ý").[O2:V2].Value
  37.             End If
  38.         End With
  39.     End If
  40.     If timerEnabled Then Call timerStart
  41. End Sub

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

EASYWIN0909.rar (12.11 KB)

TOP

¦^´_ 8# c_c_lai
§Ú¬O¨Ï¥ÎEASYWINªºdde°T¸¹¡A¦pªG­n¨C30¬í°O¿ý¤@½ë¤W­±©Ò¦³ªº¸ê®Æ¸Ó¦p¦ó¼gVBA?¦]¬°®Mªí¤W¥h³£·|²£¥Í¿ù»~·d¤£²M·¡°ÝÃD¥X¦b­þ???

³Â·Ð±z¤FÁÂÁÂ!!

EASYWIN0909.rar (1.95 KB)

TOP

¦^´_ 18# lieh_chun
³o ¤u§@ªí1¼Ò²Õ ¬O WorkSheet ª«¥óªº¼Ò²Õ
15# ¤u§@ªí1¼Ò²Õªºµ{¦¡½X, ¥i½Æ»s¦b¥ô¤@ WorkSheet ª«¥óªº¼Ò²Õ

TOP

¦^´_ 18# lieh_chun
¤W¶Ç§A¾ã²z¹L«á¤§ÀɮסI

TOP

¦^´_ 15# GBKEE

ªO¤j ±z¦n~
¦ü¥G¬Ý¤£¬O«ÜÀ´±zªºµ{¦¡½X?¤£ª¾±zªº·N«ä¬O«ü ThisWorkbook ªº¤º½X§ï¦¨±zªºµ{¦¡½X??
¥t¥~¦A´¡¤J¤@­Ó¼Ò²Õ(¤u§@ªí1.¬ö¿ý)§â±zªº¤å¶K¤W¥h³o¼Ë´N¥i¥H°õ¦æ£v??

·PÁ±zªº¦^ÂлP¤À¨É

TOP

¦^´_ 11# c_c_lai


©_©Ç¤F,¤j¤j±z©Ò´£¨Ñªºµ{¦¡½X,§Ú¤U¥hRUN,©~µM¤£·|°Ê£°,³s§Ú§ï¤F¨t²Îªº®É¶¡,ÁÙ¬O¤£·|°Ê,¤£ª¾¹D¬O¨º¨à¦³°ÝÃD??

TOP

¦^´_ 15# GBKEE
ÁÂÁ±zÅý§ÚÅé·|¨ì Excel method ªº¤@¨Ç¨Ï¥Î¡A¦ý§Úµoı DoEvents ´X¥G§¹¥þ¦û¾Ú¤F¾ã­Ó§@·~®É¶¡¡A
¦A¤À®É¤À¤u¤W·|¤£·|³y¦¨¬O¤@ºØ­t¾á©O¡H

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-8-26 11:49 ½s¿è

¦^´_ 14# c_c_lai
ThisWorkbook  ¼Ò²Õªºµ{¦¡½X
  1. Public ¬ö¿ý_Msg As Boolean
  2. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  3.     ¬ö¿ý_Msg = True
  4. End Sub
  5. Private Sub Workbook_Open()
  6.     Run "¤u§@ªí1.¬ö¿ý"     ' µ{¦¡¤@±Ò©l¡A«K¥h¦Û°Ê°õ¦æ ¤u§@ªí1.¬ö¿ý
  7. End Sub
  8. Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
  9.     'ThisWorkbook ªº­«ºâ¨Æ¥ó
  10.     'Sh ¶Ç¦^¬O­þ¤@­Ó¤u§@ªí¦³­«ºâ
  11. End Sub
½Æ»s¥N½X
¤u§@ªí1¼Ò²Õªºµ{¦¡½X
  1. '¤u§@ªí1¼Ò²Õªºµ{¦¡½X(­«ºâ¨Æ¥ó )
  2. '¤u§@ªí1 ªºA1 B1 C2 D1 E1 : ®É¶¡/¶}½L/»ù³Ì°ª»ù/³Ì§C»ù/¦¬½L»ù
  3. Private Sub Worksheet_Calculate()
  4.     Static Msg As Boolean                      '¥Î¥H§P©w¬O§_¬°¨C¤é²Ä¤@¦¸°õ¦æ
  5.     Static Time_Calculate As Date              '°O¿ý¨C¤ÀÄÁªº®É¶¡
  6.     Static AR                                  '°}¦C:°O¿ý¦¨¥æ»ù®æ
  7.     If Time < #8:30:00 AM# Then Exit Sub
  8.     Application.EnableEvents = False           '°±¤îª«¥ó¯àIJµo¨Æ¥ó(Worksheet_Calculate)
  9.     If Msg = False Then
  10.         Time_Calculate = TimeSerial(Hour(Time), Minute(Time), 0) '¨C¤ÀÄÁªº®É¶¡
  11.         Range("A1").CurrentRegion.Offset(1) = ""                '²M²z¬Q¤é¸ê®Æ
  12.         ReDim AR(0)                                              '­«·s³]¬°¤@¤¸¯À
  13.     End If
  14.     Msg = True
  15.     If Time >= Time_Calculate + #12:01:00 AM# Then
  16.             With Cells(Rows.Count, 1).End(xlUp).Offset(1)
  17.                 .Cells(1, 1) = Time_Calculate                    '®É¶¡
  18.                 .Cells(1, 2) = AR(0)                             '¶}½L»ù
  19.                 .Cells(1, 3) = Application.Max(AR)               '³Ì°ª»ù
  20.                 .Cells(1, 4) = Application.Min(AR)               '³Ì§C»ù
  21.                 .Cells(1, 5) = AR(UBound(AR))                    '¦¬½L»ù
  22.             End With
  23.             Time_Calculate = TimeSerial(Hour(Time), Minute(Time), 0)
  24.             ReDim AR(0)
  25.     End If
  26.     If AR(UBound(AR)) <> "" Then ReDim Preserve AR(UBound(AR) + 1) '­«·s¦A¥[¤W¤@¤¸¯À
  27.     AR(UBound(AR)) = [iv1]                      '°O¿ý¦¨¥æ»ù®æ¦¨¥æ»ù
  28.     Application.EnableEvents = True           '«ì´_ª«¥ó¯àIJµo¨Æ¥ó(Worksheet_Calculate)
  29. End Sub
  30. '¼Ó¥DÀɮ׬O¤Þ¥Î¤Ó¥­¬vÃҨ骺DDE =¦n¯«³q!D4 ¤£¥²¦³¦¹µ{§Ç
  31. '¬ö¿ýµ{§Ç:¬O´ú¸ÕWorksheet_Calculateªº¥¿½T©Ê
  32. Private Sub ¬ö¿ý()
  33.     '¬ö¿ý®É¶¡°õ¦æ°j°é ¤Å°õ¦æ¨ä¥Lµ{¦¡©Î¿é¤J¸ê®Æ
  34.     Dim t As Date, »ù®æ(1 To 4) As Single
  35.     »ù®æ(1) = 100
  36.     »ù®æ(2) = Round(»ù®æ(1) + »ù®æ(1) * 0.07, 2)
  37.     »ù®æ(3) = Round(»ù®æ(1) - »ù®æ(1) * 0.07, 2)
  38.     t = Time
  39.     Do
  40.         DoEvents
  41.         If Time > t + #12:00:05 AM# Then
  42.             t = Time
  43.             »ù®æ(4) = Round((»ù®æ(2) - »ù®æ(3) + 1) * Rnd() + »ù®æ(3), 2) '¦¨¥æ»ùªº¶Ã¼Æ
  44.             If »ù®æ(4) > »ù®æ(2) Then »ù®æ(4) = »ù®æ(2)
  45.             If »ù®æ(4) < »ù®æ(3) Then »ù®æ(4) = »ù®æ(3)
  46.             [iv1] = "=" & »ù®æ(4)      'Àx¦s®æ¤½¦¡
  47.     '****    ­nIJ°ÊWorksheet_Calculate: Àx¦s®æ¤½¦¡¤§­È¦³ÅÜ°Ê  ****
  48.             Debug.Print [iv1]
  49.         End If
  50.     Loop While ThisWorkbook.¬ö¿ý_Msg = True Or Time <= #1:30:00 PM#
  51.     'Ãö³¬ÀÉÀÉ®× ©Î 1:30:00 PM  °±¤î¬ö¿ý
  52. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ½_ÁJµ²±o¶V¹¡º¡¡A¶V·|©¹¤U««¡A¤@­Ó¤H¶V¦³¦¨´N¡A´N­n¶V¦³Á¾¨Rªº¯ÝÃÌ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD