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

[µo°Ý] DDE¸ê®Æ¬ö¿ý°ÝÃD

[µo°Ý] DDE¸ê®Æ¬ö¿ý°ÝÃD

¤p¤k¤l¦³­Ó°ÝÃD·Q½Ð±Ð¤@¤U..
¤U¹Ï¬O§Ú©Ò±¶¨úªº¨÷°ÓDDE¸ê®Æ.ª¦¤å«áÁÙ¬O§ä¤£¨ì¦p¦ó¼¶¼gVBA
§Ú·Q§a¥¦¨C5¤ÀÄÁªº¸ê®Æ.¬ö¿ý¦b¥t¤@­Ó¤u§@ªí¤¤.¥i¥H¶Ü..½Ð¦U¦ì¤j¤j¬°§Ú¸Ñµª¤@¤U..ÁÂÁÂ..

¦^´_ 56# slip
¤§«e§Ú¥u¬OÀ°¤@¦ì³qºÙ "ªB¤Í" ªº¦£¡A³B¸Ì¤@¨Ç¬ÛÃö²Î­p¹Ïªíªº¸ÑªR
(Easy Language¡BPower Language¡BHTS µ¥µ{¦¡»y¨¥À³¥Î)¡A¦Ü©ó
Excel ¤è­±¤´ºÙ·s¤â¡A¦b¦¹´Á¶¡ÀH¦P Hsiehª©¤j¡BGBKEEª©¤j¡B¥H¤Î
¤@¨ÇµLªk¤@¤@¦C¦Wªº«e½ú¥ý¶i­Ì½Ð¯q¾Ç²ß¡AµÛ¹ê½Í¤£¤W¸gÅç¡C
¦p¦³¥ô¦ó½ç±Ð¤§³B¡A¥i¥H E-Mail ¨ì¡G  [email protected]

TOP

¦^´_ 55# c_c_lai
·PÁÂ,·PÁÂ
³o¼Ë¬Ý¨Ó,
¤j¤j¬O´Á¿ï°ª¤â
¤j¤j¦³±Mªùªººô¯¸(or³¡¸¨®æ)
¥iÅý§Ú¦h¦h¦V±z½Ð±Ð
·PÁÂ,·PÁÂ
slip

TOP

¦^´_ 54# slip
¼ÒÀÀ´ú¸Õ¤§·Ç½T«×¯à¶·«Ý "®É¤é"¡B"«¬ºA"¡B"¥«³õ¨«¦V" ªº¦ÒÅç¡A
¥«³õ¤W¤@ TOLAKU ªº¤H¤é¤é¤@ª½¦b°l´MµÛ¬ü¹Ú»PÄ@´º¡A
¤]Ä@§A¯à¤@¦|­·¶¶¡I

TOP

¦^´_ 52# c_c_lai
ÁÂÁ¤j¤j
¤£ª¾¥H¤U©Ò¼g¬O§_¦X©y
¤£¾A¦X½Ðª©¥D¤j¤j§R°£,¨Ã»¡Án¹ï¤£°_

c_c_lai¤j¤j
§A±Ð¾É¦^«H¤¤
¦³´£¨ì§A¤]¦³¦b´ú¸Õ
¨º¦b¦¹¤p¤p³ø§i
¤£ª¾³o¼Ë±z¬O§_¦³¥Î

­n§ì5¬íªº­ì¦]
¬O¦b´Á³f®É
³o­Ó®É¶¡³Ì¾aªñ"tick"
¤£¬O¬Ý¨C®Ú¹Ï
¬O·f°t³Ì°ªÂIor³Ì§CÂI(­n·f°t§Ú¦³¤W¶Çªº"T"ÀÉ®×)
­n¬Ý¥X¥D­n°µ¤â,¬O§_¦³Âà¦Vªº·N¹Ï

³oÅÞ¿è¦pªG¥¿½T
¥i®M¦b­ÓªÑ¤W
¥H¤W³£ÁÙ¦b¼ÒÀÀ´ú¸Õ¤¤

·PÁ¤j¤jªºÀ°¦£
¥Ø«e°õ¦æ¶¶§Q¤¤
slip

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-8-5 10:55 ½s¿è

¦^´_ 51# slip
¥t¥~¡B§Ú¦b§Ú³oºÝ ThisWorkbook µ{¦¡½X¥[¤J¤F¥H¤Uµ{¦¡½X¡A
¤è«K Excel ¤@¶}±Ò«K·|¦Û°Ê³B²zµ{¦¡¤§°õ¦æ¡A¦Ó¤£»Ý¦A¥H¤H¤uÂI«ö GetDDE()¡A
³o¬O§Ú³B²z DDE ªº²ßºD¡A´£¨Ñ§A°Ñ¦Ò¡G
  1. Option Explicit

  2. Private Sub Workbook_Open()
  3.     If (Weekday(Date, 2) > 5 Or TimeValue(Now) > TimeValue("13:45:00")) Then
  4.         Exit Sub
  5.     Else
  6.         '  »{¯u¨Ó¬Ý½L§a¡I
  7.        If TimeValue(Now) < TimeValue("08:45:00") Then
  8.             Application.OnTime TimeValue("08:45:00"), "Module1.GetDDE"
  9.         Else
  10.             Application.OnTime (Now + TimeValue("00:00:01")), "Module1.GetDDE"
  11.         End If
  12.     End If
  13. End Sub
½Æ»s¥N½X
¥[¤W«á¡A Module1 µ{¦¡³Ì¦n¦A­×§ï¦¨¦p¤U¡A¦p¦¹¾ãÅéµ{¦¡¤~¦³ÀY¦³§À¡C
  1. Sub GetDDE()
  2.     Dim T As Date, Sh(1 To 2), i As Long, Rng As Range
  3.    
  4.     T = Now            '  ¨ú±o²{¦b®É¶¡
  5.     If TimeValue(Now) > TimeValue("13:45:00") Then Exit Sub
  6.    
  7.     Set Sh(1) = ThisWorkbook.Sheets(1)
  8.     Set Sh(2) = ThisWorkbook.Sheets(2)
  9.    
  10.     If Not IsError(Sh(1).[B2]) Then
  11.          .
  12.         .
  13.     End If
  14.          .
  15.         .
  16. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-8-5 10:38 ½s¿è

¦^´_ 49# slip
¤µ¦­§Ú¹ê»Ú¶]¤F¤@¤U§Aªºµ{¦¡ (¦³ÂI»y¯f)¡A§Ú²¤·L­×¥¿¤F¤@¨Ç»yªk¡A¨Ã¥[¤W Rng Åܼƫŧi¡C
¤j¬ùÆ[¹î¤F¤@­Ó¦h¤p®É¡A¦]µLªk¶Ç¤W¹Ï¥Ü (ºô­¶¹Ï¤ù¡Bªþ¥ó§¡µLªk¥¿±`¨Ï¥Î) Åý§A¤À¨É¡A
¬Gª½±µ¶K¤Wµ{¦¡½X¡A§A¦A¦Û¦æ¶K¤J§Aªº Module1 ¤º¡A¤º®e¦p¤U¡G
P.S.  §A³]©wªº¤­¬íÄÁ¼g¤J¤@µ§¸ê®Æ¡A¦n¹³¬O¦b»°¥«¶°¦üªº¡A¬Ý±o§Ú¦Ñ¤H®a²´µoÁA¶Ãªº¡A
         §Ú¥ý±N¥¦§ï¦¨¤@¤ÀÄÁ°õ¦æ¤@¦¸¡A§A¤]¥i¥H¨Ï¥Î 20 ¬í¤@µ§°µ¬°°Ñ¦Ò (¸û«ÈÆ[)¡C
  1. Sub GetDDE()
  2.     Dim T As Date, Sh(1 To 2), i As Long, Rng As Range
  3.    
  4.     T = Now            '  ¨ú±o²{¦b®É¶¡
  5.     Set Sh(1) = ThisWorkbook.Sheets(1)
  6.     Set Sh(2) = ThisWorkbook.Sheets(2)
  7.    
  8.     If Not IsError(Sh(1).[B2]) Then
  9.         Set Rng = Sh(2).[A65536].End(xlUp).Offset(1)  '  ª«¥ó
  10.         Rng.Resize(, 7) = Sh(1).[A2:G2].Value         '  ±N¤u§@ªí1ªºDDE¸ê®Æ¼g¤J¤u§@ªí2
  11.         With Sh(2)
  12.             i = Rng.Row
  13.             
  14.             Rng.Offset(, 7) = Rng.Offset(, 3) - Rng.Offset(, 2)  '  Hø󪺤½¦¡=>Døó-Cøó
  15.             Rng.Offset(, 8) = Rng.Offset(, 7) - Rng.Offset(, 7).Offset(-1)    '  I413=H413-H412......¼Æ¦C2
  16.             Rng.Offset(, 9) = Rng.Offset(, 4)                    '  Jø󪺤½¦¡=Eøó
  17.             '  xMax = Application.Max(.[I:J])                    '  ³Ì¤j­È
  18.             '  xMin = Application.Min(.[I:J])                    '  ³Ì¤p­È
  19.             '  **  .Parent.ChartObjects(1): ª«¥ó (¤u§@ªíªº²Ä1­Ó¹Ïªí)  *****
  20.             With .ChartObjects(1).Chart
  21.                 .SeriesCollection(1).Values = .Parent.Parent.Range("I2:I" & i)    '  «ü©w¼Æ¦C¸ê®Æªº½d³ò
  22.                 .SeriesCollection(1).ChartType = 52                               '  «ü©w¼Æ¦C¹ÏªíÃþ«¬
  23.                 .SeriesCollection(2).Values = .Parent.Parent.Range("J2:J" & i)
  24.                 .SeriesCollection(2).ChartType = 65
  25.                 If .SeriesCollection(2).AxisGroup <> xlSecondary Then .SeriesCollection(2).AxisGroup = xlSecondary
  26.                 '  ¼Æ¦C¤£¦b²Ä 2 Y®y¼Ð¶b(°Æ®y¼Ð): ¼Æ¦C«ü©w¨ì²Ä 2 Y®y¼Ð¶b(°Æ®y¼Ð)   '  .AxisGroup = 2 ->  °Æ®y¼Ð
  27.                                                                               
  28.                 .Parent.Top = .Parent.Parent.Range("L" & IIf(i <= 39, 1, i - 38)).Top     '  «ü©w¹Ïªí³»ºÝªº¦ì¸m
  29.                 With .Axes(xlValue)                '  Y (¥D) ®y¼Ð¶b
  30.                     .MinimumScale = Application.Min(.Parent.Parent.Parent.[I:I])          '  ³Ì¤p­È
  31.                     .MaximumScale = Application.Max(.Parent.Parent.Parent.[I:I])          '  ³Ì¤j­È
  32.                     .MajorUnitIsAuto = True        '  ¥D­n¨è«×¶¡¶Z=¦Û°Ê³]©w
  33.                     .MinorUnitIsAuto = True        '  ¦¸­n¨è«×¶¡¶Z=¦Û°Ê³]©w
  34.                     .Crosses = xlAutomatic         '  ®y¼Ð¶b»P¨ä¥L®y¼Ð¶b¥æ¤eªºÂI=¦Û°Ê³]©w
  35.                     .ScaleType = xlLinear          '  ¼Æ­È®y¼Ð¶bªº¨è«×Ãþ«¬=xlLinear
  36.                 End With
  37.                
  38.                 With .Axes(xlValue, xlSecondary)   '  Y (°Æ) ®y¼Ð¶b
  39.                     .MinimumScale = Application.Min(.Parent.Parent.Parent.[J:J])           '  ³Ì¤p­È
  40.                     .MaximumScale = Application.Max(.Parent.Parent.Parent.[J:J])           '  ³Ì¤j­È
  41.                     .MaximumScaleIsAuto = True
  42.                     .MajorUnitIsAuto = True
  43.                     .MinorUnitIsAuto = True
  44.                     .Crosses = xlAutomatic
  45.                     .ScaleType = xlLinear
  46.                 End With
  47.             End With
  48.         End With
  49.     End If
  50.    
  51.     Application.ScreenUpdating = True
  52.     Application.OnTime T + TimeValue("00:01:00"), "GetDDE"      '  ¶¡¹j 5 ¤ÀÄÁ§ï¦¨ TimeValue("00:05:00")
  53. End Sub
½Æ»s¥N½X

TOP

¦^´_ 46# slip
"c_c_lai"¤j¤j¦n
¤µ¤Ñ¶}½L«á
°õ¦æª¬ªp¸ò¤W¶g¥¼¶}½Lªº®É­Ô¤@¼Ë
Book9.rar (14.62 KB)
½ÐÀ°§Ú¬Ý¬Ý
·P®¦
slip

TOP

¦^´_ 48# GBKEE
GBKEE  ¤j¤j¤È¦w;
§Ú¤j¬ùÀ´c_c_lai"¤j¤jªº±Ð¾É

¤]·PÁ¤j¤j­Ì,µL¨p+¶W¦³­@¤ßªº±Ð¾É
slip

TOP

¦^´_ 47# c_c_lai
ÁÂÁÂ"c_c_lai"¤j¤j;

§Ú¥u¦³¦b¶}½L®É¤~·|¨Ï¥Î¦¹ÀÉ®×
¨º§Ú¥ý¤£¥h°µ­×§ï

¶g¤@¶}½L®É°õ¦æ,¦p¦³¨ä¥¦°ÝÃD
¦A½Ð±Ð±z

ÁÙ¦³,ÁÂÁ±zªº"¶W¯Å«ÕÀq"
slip

TOP

        ÀR«ä¦Û¦b : ¡i¥Í©R¦b©I§l¶¡¡j¦òªû»¡¡G¡u¥Í©R¦b©I§l¶¡¡C¡v¤HµLªkºÞ¦í¦Û¤vªº¥Í©R¡A§óµLªk¾×¦í¦º´Á¡AÅý¦Û¤v¥Ã¦í¤H¶¡¡C¬JµM¥Í©R¥h¨Ó³o»òµL±`¡A§Ú­Ì§óÀ³¸Ó¦n¦n¦a·R±¤¥¦¡B§Q¥Î¥¦¡B¥R¹ê¥¦¡AÅý³oµL±`¡BÄ_¶Qªº¥Í©R¡A´²µo¥¦¯uµ½¬üªº¥ú½÷¡A¬M·Ó¥X¥Í©R¯u¥¿ªº»ù­È¡C
ªð¦^¦Cªí ¤W¤@¥DÃD