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

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

¦^´_ 9# lieh_chun
  1. '[µ¦²¤°O¿ý] ¤u§@ªíªºµ{¦¡½X(­«ºâ¨Æ¥ó )
  2. Private Sub Worksheet_Calculate()
  3.     Static Msg As Boolean                      '¥Î¥H§P©w¬O§_¬°¨C¤é²Ä¤@¦¸°õ¦æ
  4.     Static Time_Calculate As Date              '°O¿ý¨C¤ÀÄÁªº®É¶¡
  5.     Static AR                                  '°}¦C:°O¿ý¦¨¥æ»ù®æ
  6.     If Time < #8:30:00 AM# Then Exit Sub
  7.     Application.EnableEvents = False           '°±¤îª«¥ó¯àIJµo¨Æ¥ó(Worksheet_Calculate)
  8.     If Msg = False Then
  9.         Time_Calculate = TimeSerial(Hour(Time), Minute(Time), 0) '¨C¤ÀÄÁªº®É¶¡
  10.         Range("A12").CurrentRegion.Offset(1) = ""                '²M²z¬Q¤é¸ê®Æ
  11.         ReDim AR(0)                                              '­«·s³]¬°¤@¤¸¯À
  12.     End If
  13.     Msg = True
  14.     If Time >= Time_Calculate + #12:01:00 AM# Then
  15.             With IIf([A13] = "", [A13], Cells(Rows.Count, 1).End(xlUp).Offset(1))
  16.                 .Cells(1, 1) = Time_Calculate                    '®É¶¡
  17.                 .Cells(1, 2) = AR(0)                             '¶}½L»ù
  18.                 .Cells(1, 3) = Application.Max(AR)               '³Ì°ª»ù
  19.                 .Cells(1, 4) = Application.Min(AR)               '³Ì§C»ù
  20.                 .Cells(1, 5) = AR(UBound(AR))                    '¦¬½L»ù
  21.             End With
  22.             Time_Calculate = TimeSerial(Hour(Time), Minute(Time), 0)
  23.             ReDim AR(0)
  24.     End If
  25.     If AR(UBound(AR)) <> "" Then ReDim Preserve AR(UBound(AR) + 1) '­«·s¦A¥[¤W¤@¤¸¯À
  26.     AR(UBound(AR)) = [f2]                                          '°O¿ý¦¨¥æ»ù®æ¦¨¥æ»ù
  27.     Application.EnableEvents = True           '«ì´_ª«¥ó¯àIJµo¨Æ¥ó(Worksheet_Calculate)
  28. End Sub
½Æ»s¥N½X

TOP

¦^´_ 11# c_c_lai
lieh_chun ¥L­nªº¬O½L¤¤ªº Open/High/Low/Close ¦Ó¤£¬O Max¡BMin¡C
9# §Ú­n°O¿ý¨C¤ÀÄÁ¦¨¥æ»ùªº³Ì°ª¤Î³Ì§CÂI    10#µ{¦¡½X¥i¹F¦¨¦¹®ÄªG
Open/High/Low/Close ¤£¬O¹ïÀ³µÛ¨C¤ÀÄÁªº  AR(0)'¶}½L»ù /Application.Max(AR)'³Ì°ª»ù / Application.Min(AR)'³Ì§C»ù /AR(UBound(AR))'¦¬½L»ù

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

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

TOP

        ÀR«ä¦Û¦b : ¤ß¤¤±`¦sµ½¸Ñ¡B¥]®e¡B·P«ä¡Bª¾¨¬¡B±¤ºÖ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD