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

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

¦^´_ 2# Hsieh
¦^´_ 3# chenua
§Ú±N¥H¯à§@·~ªº ¤u§@ªí³æ ªþ¤W¡A Chenua ©p¥i¥H¸Õ¸Õ¬Ý¡A ¦pªþ¹Ï©Ò¨£¡C

Hsieh¤j¤j¡A·Q½Ð±Ð±zªº¬O¡G
(1) ¤W¹Ï¥ª¥b³¡¤À¡A ±q A2:A21 ªº¸ê®Æ«ÇÀ³¥Î If Not IsError(Sheets(1).[B2]) Then Sheets(2).[A65536].End(xlUp).Offset(1).Resize(, 7) =
       Sheets(1).[A2:G2].Value  ªº¤è¦¡³B²z¡C ¬°¤°»ò ¤u§@ªí1 ªº A2 ¸ê®Æ¤@Âà¨ì ¤u§@ªí2 ªºÄæ¦ì¡A01:44 PM -> 0.572905 ¡H
      ©Ò¥H§Ú«K±N¥¦ªº³B¸Ì§ï¦¨ Sheets("¤u§@ªí2").Cells(CIndex + 2, 1).Value = Sheets("¤u§@ªí1").Cells(2, 1).Value µ²ªG¤@¼Ë¡A
      ¦]¬°¥Ñ DDE ¶×¤Jªº®É¶¡Äæ¦ì¬O A3 (=YT|KS!TXFE2.123),  ¶×¤J¤º®e¬° 134459¡A¦¹Äæ¼Æ¾Ú¸ê®ÆµLªkÀ³¥Î¡A¬G±N¥¦Â૬¨ì A2 Äæ¦ì
      (=TIME(LEFT(A3,LEN(A3)-4),MID(A3,LEN(A3)-3,2),RIGHT(A3,2)))¡A¥Ø«e¦pªG±q A3 °Ï¥X¸ê®Æ´N·|¦³°ÝÃD¡A©Ò¥H¤S¦A±N¥¦§ï¦¨
     Sheets("¤u§@ªí2").Cells(CIndex + 2, 1).Value = TimeValue(Now) ªº¤è¦¡¡A¦pªþ¹Ï¤Wªº A22LA28¡C
(2) °²³]¥Ø«e§Ú·Q±N A2:G2¡AK2:P2¡A¥H¤Î H5:J5 µ¥Äæ¦ì¦P®É§ì¨úªº¸Ü¡A¦p¨Ï¥Î¹³ Sheets(2).[A65536].End(xlUp).Offset(1).Resize(, 7) =
       Sheets(1).[A2:G2].Value  ªº¤è¦¡¨Ó°µ³B²z¡A½Ð±Ð¦b»yªk¤WÀ³«ç»ò¨Óªí¹F©O¡H
ÁÂÁ±zªº«ü¾É¡I
DDE ¸ê®Æ¬ö¿ý°ÝÃD.rar (13.19 KB)

TOP

¦^´_ 3# chenua
§Ú±NÀɮ׶ÇE-Mailµ¹©p¤F¡A¦¬¦¬¬Ý¡I

TOP

¦^´_ 6# GBKEE
ÁÂÁ±z¡I ¸g¹L´ú¸Õªºµ²ªG¡Aµo²{¦pªG±N
Sheets("¤u§@ªí2").Cells(CIndex + 2, 1).Value = Sheets("¤u§@ªí1").Cells(2, 1).Value §ó§ï¦¨
Sheets("¤u§@ªí2").Cells(CIndex + 2, 1).Value = Sheets("¤u§@ªí1").Cells(2, 1).Text ªº½T OK¡C

¦ý¬O Sheets(2).[A65536].End(xlUp).Offset(1).Resize(, 7) = Sheets(1).[A2:G2].Value §ó§ï¬°
Sheets(2).[A65536].End(xlUp).Offset(1).Resize(, 7) = Sheets(1).[A2:G2].Text ´N¤£¦æ¤F¡A
µ²ªG³£¨S¦³¥ô¦ó¸ê®Æ¼g¤J¡A¨º°Z¤£»¡µLªk§¹¥þ¨Ï¥Î Sheets(2).[A65536].End(xlUp).Offset(1).Resize(, 7)
= Sheets(1).[A2:G2].Value ªº¤è¦¡³B²zËç¡H

TOP

¦^´_ 8# Hsieh
¹ê°È¤W¡A³Q¼g¤JºÝ¥¼¥²¥u¦³ "¤u§@ªí³æ2"¡A¦³¥i¯à¬O°ÊºA²£¥Íªº¤u§@ªí³æ¡A
¬Æ©Î¬O¨C¤é¤@¥÷¤£¦P¤§¤u§@ªí³æ¨Ó°O¿ý¥æ©ö¬ö¿ý¡A¨Ì·Ó±zªº·N«ä¬O¥ý¦æ±N¦¹Äæ¦ì
±N¥¦¥ý¤©¥H®æ¦¡¤Æ¦A¦æ³B²z¶Ü¡H ¬O¤£¬O³o¼Ë¡H  Sheets("Good Morning").[A].Formula = "hh:mm:ss"
(¹ï¤£°_¡A§Ú¤§«e³£¨S±µÄ²¹L Excel¡A¬O³Ìªñ¤~¶}©l¸ò¦U¦ì¥ý¶i¾Ç²ßªº¡A ¥B¥Ø«e¤§ VBA µ{¦¡»yªk³£¬O¾ÌÂÇ¥H©¹ªº¨ä¥¦»y¨¥ªº¼¶¼g¸gÅç¨Ó±Ä¼¯ªº)
¦p¦¹¶Õ¥²¨C¦b²£¥Í¤@¤ßªí³æ¤§«e¡A´N­n¥ý¦æ³B²z¦¹®æ¦¡¤Æ¡A¦ý¬O A1¥»Äæ¬O¤å¦rÄݩʱԭz¨º¨SÃö«Y¶Ü¡H

TOP

¦^´_ 21# slip

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-8-4 07:27 ½s¿è

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

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-8-4 12:05 ½s¿è
¦^´_  c_c_lai
ÁÂÁÂ"c_c_lai "¤j¤j

¦­¤W¦³´ú¸Õ¤@¤U
¥X²{ª¬ªp¦p¹Ï

½ÐÀ°¦£¦b¬Ý¬Ý
·P®¦
slip µoªí©ó 2013-8-4 10:38

§Aªºµ{¦¡¬J¨S¦³°_©l¡Bµ²§ô®É¬q±±¨î³]©w¡A¥B¥u­n¤@±Ò°Ê«K·|¶}©l°õ¦æ¡C
©Ò¥H§A¥Ø«e±o­n¦Ò¶q¶}¥«®É¬qªº³B¸Ì¡A¥H¤Î½L«e½L«áªºª¬ªp¡C
  1. If (Weekday(Date, 2) > 5 Or TimeValue(Now) > TimeValue("13:45:00") Then
  2.     '  ¨C³{¬P´Á°²¤é¡B©Î¤wÃö½L®É¡A «h  ...  ¥h°Û­Óºq
  3. ElseIf TimeValue(Now) >= TimeValue("08:45:00") Then
  4.     '  »{¯u¨Ó¬Ý½L§a¡I
  5. End If
½Æ»s¥N½X
¶È´£¨Ñ°Ñ¦Ò¡A¨C­Ó¤Hªº»Ý¨D¤£¦P¡B§P©w¤è¦¡¥ç¤]·|¦³©Ò¥X¤J¡C

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

¥»©«³Ì«á¥Ñ 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

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

TOP

        ÀR«ä¦Û¦b : ªY½à§O¤H´N¬O²øÄY¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD