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

[µo°Ý] API³vµ§¹Bºâ­t¾á¤j¡A¥i§_ºë²

[µo°Ý] API³vµ§¹Bºâ­t¾á¤j¡A¥i§_ºë²

¦U¦ì¤j¤j¡A¤p§Ì³Ìªñªì¾ÇVBA¡A¸ÕµÛ¤gªk·Ò¿û§â·Q­nªº¤è¦¡§ï¥ÎVBA¾Þ§@¡A¥¨¶°Áö¥i¥H¨Ï¥Î¡A¦ýµ{¦¡ªº­t²ü«Ü­«¡A¬O§_¦³¿ìªkºë²©O
±Ä¥Îªº¬OAPI´Á³f³ø»ù¡A¶i¦æ³vµ§¹Bºâ(½d¨Òªºµ§¼Æ«Ü¤Ö¡A¹ê»Ú±¡ªp±NÀH®É¶¡Åܦ¨´X¸Uµ§¸ê®Æ)¡A¨Ã±NBÄ檺¦¨¥æ®É¶¡½Æ»s¨ìSht1.Range("C1")

±µµÛ¨Ì·ÓSht1.Range("C1")ªº®É¶¡¡A±N¹Bºâªºµ²ªG(Sht2.Cells(4, "J")»PSht2.Cells(5, "J"))   ¶K¦bSht3ªºB.CÄæ
¨C
  1. Sub ¦hªÅ¬ö¿ý()
  2. Call ¦@¥Î°Ñ·Ó '´ú¸Õ¥Î

  3. If Sht1.Range("C1") >= TimeValue("08:45:00") And Sht1.Range("C1") < TimeValue("08:50:00") Then
  4. Sht3.Cells(2, "B") = Sht2.Cells(4, "J")
  5. Sht3.Cells(2, "C") = Sht2.Cells(5, "J")
  6. End If

  7. If Sht1.Range("C1") >= TimeValue("08:50:00") And Sht1.Range("C1") < TimeValue("08:55:00") Then
  8. Sht3.Cells(3, "B") = Sht2.Cells(4, "J")
  9. Sht3.Cells(3, "C") = Sht2.Cells(5, "J")
  10. End If
  11. If Sht1.Range("C1") >= TimeValue("08:55:00") And Sht1.Range("C1") < TimeValue("09:00:00") Then
  12. Sht3.Cells(4, "B") = Sht2.Cells(4, "J")
  13. Sht3.Cells(4, "C") = Sht2.Cells(5, "J")
  14. End If
  15. If Sht1.Range("C1") >= TimeValue("09:00:00") And Sht1.Range("C1") < TimeValue("09:05:00") Then
  16. Sht3.Cells(5, "B") = Sht2.Cells(4, "J")
  17. Sht3.Cells(5, "C") = Sht2.Cells(5, "J")
½Æ»s¥N½X
¦p¥H¤Wµ{¦¡¨C5¤ÀÄÁ¤@­Ó°Ï¶¡¡A¤@ª½°O¿ý¨ì13:45¬°¤î¡A
¥Ñ©ó²{¦b¬O¨C¤@µ§¦¨¥æ´N¶i¦æ¤@¦¸¹Bºâ¡A1¬í¤º¥i¯à¦¨¥æ«Ü¦hµ§¥æ©ö¡A
¦³·Q¹L¬O§_¥i¥H§ï¬°1¬í¶i¦æ¤@¦¸¬ö¿ý´N¦n¡A
¦A³Â·Ð¦U¦ì°ª¤âÀ°¦£¡AÁÂÁ¡I

¨Ì®É¶¡¬ö¿ý.rar (16.85 KB)

¦^´_ 2# GBKEE
ÁÂÁ¶Wª©G¤jªº¨ó§U
¸Õ¹B¦æ¤Fµ{¦¡¡Aµo²{·|³s³ø»ù¹Bºâªº³¡¤À³£Åܦ¨1¬í­pºâ¤@¦¸¡A
¦Ó¦hªÅ¬ö¿ý¦ü¥G¬O¥H¹q¸£®É¶¡¨Ó°µ¬ö¿ý¡A

¦]¬°¤p§Ìªì¾ÇVBA¡A¤£½T©w¬O§_¦³¥i¯à¹ê²{¡A
ÅýSub ³ø»ù¹Bºâ()ªº³¡¤À¥H¥¿±`³t«×¹B¦æ¡A¦ýSub ¦hªÅ¬ö¿ý()¥Hµ{¦¡ªº®É¶¡¶i¦æ1¬í1¦¸(©Î¬O¥[±ø¥ó·s®É¶¡>®ɶ¡)¦A§PÂ_®É¶¡±ø¥ó«á°O¿ý©O

TOP

¦^´_ 4# GBKEE
ÁÂÁÂG¤j ­ì¥»¹J¨ì¤@¨Ç°ÝÃD¡A
¬ã¨s¤F¤@¤U¡A¬ö¿ýªº³¡¤À³£¸Ñ¨M¤F¡I
ÁÂÁ¡I

TOP

¦^´_ 4# GBKEE
¤£¦n·N«ä¡A¦A¥t°µ¤@­Ó¬ö¿ý15¤ÀK¶}°ª§C¦¬ªº¥¨¶°¤W¹J¨ì¤F§xÃø(¥Ñ©ó³o¸ò­ì¼ÐÃD¤£§¹¥þ²Å¦X¡A­Y»Ý¥t¥DÃD¦A³Â·Ð§iª¾)
§Æ±æ¦b­ì¥»³vµ§­pºâªº¹Lµ{¤¤¡A±N¨C15¤ÀÄÁªº¶}°ª§C¦¬»ù®æ¬ö¿ý°_¨Ó¡A¹B¥Îo,h,l,c ¥|­ÓÅܼÆ
½Ð°Ý­n¦p¦ó¦b¨C15¤ÀÄÁ¬ö¿ý¨ºÃä¡A­n´«¦æ¬ö¿ý®É¤~±No,h,lÅܼÆÂk0¨Ã­«·s­pºâ©O
  1. Option Explicit
  2. Public uMode&, StartTime, EndTime
  3. Public MyBook As Workbook, Sht1 As Worksheet, Sht2 As Worksheet, Sht3 As Worksheet, xRow&
  4. Public o As Single, h As Single, l As Single c As Single

  5. Sub ¦@¥Î°Ñ·Ó()
  6.     Set MyBook = ThisWorkbook
  7.     Set Sht1 = MyBook.Sheets("¦hªÅÂŹÏ")
  8.     Set Sht2 = MyBook.Sheets("³ø»ù¼Æ¾Ú")
  9.     Set Sht3 = MyBook.Sheets("¦hªÅ¼Æ¾Ú")
  10.     StartTime = "08:44:50"  '¶}½L®É¶¡¡]´£¦­¤Q¬í¶}©l¡A¤~¥i°O¿ý¶}½L¶q»ù¡^
  11. End Sub
  12. Sub ³ø»ù¹Bºâ()
  13.     Dim xTime As Date
  14.     Dim i As Long
  15.    
  16.     Call ¦@¥Î°Ñ·Ó '´ú¸Õ¥Î
  17.     If Sht2.Range("H2") <> 1 Then '¶}½L±ø¥ó
  18.         Sht2.Range("J2,J4,J5").ClearContents '²M°£¬ö¿ý¸ê®Æ
  19.         Sht2.Range("K2") = Sht2.Range("I2") '§PÂ_»ù§ï¬°¶}½L»ù
  20.     End If
  21.     i = 1
  22.    
  23.     Do
  24.         i = i + 1
  25.         
  26.         If Sht2.Cells(2, "J") = "¡ô" And Sht2.Cells(i, "H") <> 1 Then '¦h¤è¥[Á`
  27.             Sht2.Range("J4") = Sht2.Range("J4") + Sht2.Range("D" & i)
  28.         End If
  29.         If Sht2.Cells(2, "J") = "¡õ" And Sht2.Cells(i, "H") <> 1 Then 'ªÅ¤è¥[Á`
  30.             Sht2.Range("J5") = Sht2.Range("J5") + Sht2.Range("D" & i)
  31.         End If
  32.         If Sht2.Cells(i, "H") <> 1 Then
  33.             Sht1.Cells(1, "C") = Sht2.Range("B" & i) '³ø»ù®É¶¡¶Ç°e¨ì¦hªÅÂŹÏ
  34.         End If

  35. '***¥H¤U·s¼W15¤ÀK¬ö¿ý
  36. c = Sht2.Range("C" & i)
  37.    If c > h Then h = c '§ó·s³Ì°ª»ù
  38.    If c < l Then l = c '§ó·s³Ì§C»ù
  39.    If o = 0 Then o = Sht2.Range("C" & i) Else o = o
  40.    If l = 0 Then l = Sht2.Range("C" & i) Else l = l
  41.    If h = 0 Then h = Sht2.Range("C" & i) Else h = h
  42. Sht2.Range("O2").Value = o '¶ñ¶}½L»ù
  43. Sht2.Range("P2").Value = h '¶ñ³Ì°ª»ù
  44. Sht2.Range("Q2").Value = l '¶ñ³Ì§C»ù
  45. Sht2.Range("R2").Value = c '¶ñ¦¬½L»ù
  46.         
  47.         If Sht1.Range("C1") > xTime Then  '** ¤@¬í¹B¦æ¤@¦¸    **
  48.             
  49.             Call ¦hªÅ¬ö¿ý
  50.             Call ¤ÀK¶}°ª§C¦¬
  51.         End If
  52.         

  53.         Sht2.Cells(i, "H") = 1 '¹Bºâ¹Lªº¶i¦æ¼Ð°OÁקK­«½Æ¹Bºâ
  54.     Loop Until Sht2.Range("C" & i + 1) = 0 '°j°é°±¤î±ø¥ó
  55. End Sub

  56. Sub ¤ÀK¶}°ª§C¦¬()
  57. Call ¦@¥Î°Ñ·Ó '´ú¸Õ¥Î

  58.   Dim xMinute As Integer
  59.    
  60.         
  61.         xMinute = Int(Application.Text(Sht1.Range("C1") - #8:45:00 AM#, "[M]") / 15)
  62.         '*** xMinute ¥H Time ¶Z 8:45 ªº¤ÀÄÁ¼Æ / 15 ¶Ç¦^ªº¾ã¼Æ
  63.         '*** Time ¤p©ó 8:45 ±o¨ì­t¼Æ
  64.         If xMinute > -1 And Sht1.Range("C1") <= #1:45:00 PM# Then
  65.             xMinute = xMinute + 3   '*** ±q²Ä2¦C¶}©l
  66.             Sht2.Cells(xMinute, "O") = Sht2.Cells(2, "O")
  67.             Sht2.Cells(xMinute, "P") = Sht2.Cells(2, "P")
  68.             Sht2.Cells(xMinute, "Q") = Sht2.Cells(2, "Q")
  69.             Sht2.Cells(xMinute, "R") = Sht2.Cells(2, "R")
  70.         End If
  71.       
  72. End Sub
½Æ»s¥N½X

15¤ÀK¬ö¿ý.rar (19.87 KB)

TOP

¦^´_ 7# GBKEE
ÁÂÁ¶Wª©G¤j¡A©ú¤Ñ½L¤¤´ú¸Õ¬Ý¬Ý¡A
ÁöµM»¡³o¦¸ªºµ{¦¡¹ï§Ú¹ê¦b¤Ó²`¶ø¤F¡A
ÁÙ¦³¦nªøªº¤@±ø¸ô¡A§Ú·|§V¤O¾Ç²ßªº¡I

TOP

¦^´_ 7# GBKEE
¦­¦wG¤j¡A¦]¬°³o¦¸ªºµ{¦¡¡A¤p§ÌºCºC¬dMSDN¤@¨Çµ{¦¡ªº§t·N¤´µM¤£¬Æ¤F¸Ñ¡A§Ú¤j·§´y­z¤@¤U¨Ï¥Î¤Wªº°ÝÃD¡A¦A½Ð±z¦h¦h«ü¾É¡A
¤@¶}©l·ÓµÛ»¡©ú¦sÀÉ«á­«¶}(±z´£¨Ñªº­ìÀÉ)¡A¨S¦³¥ô¦ó¤ÏÀ³¡A¤]ı±o«Ü©_©Ç³o¼Ë¨S³ø»ùªº¼Æ¾Ú«ç»ò¹Bºâ©O¡A
±µµÛÆ[¹î¨ì¥H¤U¥N½X¡A
  1. Set Rng = Sheets("¦hªÅÂŹÏ").Range("A2") '** «ü¼Æ ¥N¸¹
½Æ»s¥N½X
¨Ã±NSheets("¦hªÅÂŹÏ").Range("A2")¶ñ¤W¥N½X«á¦sÀÉ­«¶}¡A§Y·s³Ð¤F¤@­Ó¸Õºâªí¡A¸Õºâªí¦WºÙ¬°«ü¼Æªº¥N¸¹¡A
¨ä¸Õºâªí¤]¶]¥X
  1. Names.Add "Ar", Array("1¤À", "5¤À", "10¤À", "15¤À", "20¤À", "30¤À", "60¤À")
½Æ»s¥N½X
µ¥¦U¶µÄæ¦ì¦WºÙ¡A¦ý¦]¬°¨S¦³³ø»ù¼Æ¾Ú¡A©Ò¥H¨Ã¨S¦³¦b¹Bºâ¡A
±µ¤U¨Ó§Ú§âµ{¦¡¶K¨ì§Ú­ì¥»ªºÀɮסA¨Ã±N
  1. Set Rng = Sheets("¦hªÅÂŹÏ").Range("A2") '** «ü¼Æ ¥N¸¹
½Æ»s¥N½X
§ï¦¨§Ú­ì¥»ªº³ø»ù°Ï°ì
  1. Set Rng = Sheets("³ø»ù¼Æ¾Ú").Range("A2") '** «ü¼Æ ¥N¸¹
½Æ»s¥N½X
­«±Ò«áEXCEL§e²{­t¸ü¨S¦^À³ªºª¬ºA¡A¹Á¸Õµ¥¤F5¤ÀÄÁ¥H¤W¡A¨ä·sªº¸Õºâªí(1-60¤ÀK¬ö¿ý)¤´µM¬°ªÅ¥Õ¡A±µµÛ´NEXCELµL¦^À³±Y¼ì¤F¡A
¤§«á¦bÀÉ®×­«±Ò«áÃö³¬¥¨¶°¹B¦æ¡A¶i¦æ¼Æ¦¸°»¿ù
³£Åã¥Ü¦b¥H¤Uµ{¦¡½X
  1. .Offset(1).Resize(, 3) = Array("®É¶¡", "¦h¤è¥[Á`", "ªÅ¤è¥[Á`")
½Æ»s¥N½X
¤£ª¾¬O¤p§Ì­þÃä¾Þ§@¤W¦³»~¶Ü!?

TOP

¦^´_ 10# GBKEE
G¤j¤È¦w
³ø»ù¼Æ¾Ú¬O³z¹L´Á³f°ÓAPIªº±N³ø»ù¶Ç¿é¨ì¹q¸£¦¨¬°txtÀÉ(³o¼Ë¸û¯àÁקK¶Ç²ÎDDE/RTDº|tickªº±¡ªpµo¥Í)¡A¦A³z¹LEXCEL¥h¨ú±otxt¸ê®Æ(ªþ¥ó¸Ì­±20180724_Match ³o­ÓtxtÀÉ)¡A§Ú¦³³]¤F¥¨¶°¦ý¸ô®|À³¸Ó»Ý­n§ó§ï
¥Ñ©ó¬OÀH®É¶¡¼W¥[³ø»ù¤º®e¡A¦ÓEXCEL¦ü¥G¤£·|¦Û°Ê§ó·s(§Ú¬Ý¤º«Ø³Ìµu­n1¤ÀÄÁ)¡A©Ò¥H±N·|³]¤@­Óµu®É¶¡©µ¿ðªº³ø»ù³s½uªº­«·s¾ã²z(µøµ{¦¡­t¾á)
ªþ¥ó¬°­ì©lÀÉ¡A­ì¥»¦³RTDªº³¡¤À¡A»Ý­n¥~±¾¤@°ï´Á³f°Óªºµ{¦¡¡A©Ò¥H¥ý§â¨º¨ÇÄæ¦ì¸ê®Æ²M±¼¤F¡A¦]¬°¨º¨Ç¸ê®Æ¥u¬O§e²{¦Ó¤w¡A¥¨¶°¤£·|¹B¥Î¨ì¡A
¦A³Â·ÐG¤j¤F¡AÁÂÁ¡I

´Á³f¬Ý½L.rar (958.84 KB)

TOP

¦^´_ 12# GBKEE

¬OªÑ¥«Àç·~®É¶¡¤@ª½¦b±µ¦¬ µM«á"¦¨¬°txtÀÉ" ?

¬Oªº¡A§Ú¥Î¤¸¤jªºSMART API  ¡A¶}½L«e¥ý³]©w¦n°Ó«~¦W¡A´N·|¦b«ü©wÂI«Ø¥ß¤@­ÓµL¸ê®Æªºtxt¡A·í¶}½L«á¶}©l¦³¸ê®Æ´N·|¤@ª½Âл\¡A
§Ú¥Î¹L¤¸¤j¡B¥ÃÂסBXQªºDDE/RTD
¦ý´Á³f¥æ©ö¤Ó§Ö¡Aº|tickÄY­«¡A§Ö¥«¥æ©ö¤§«e´ú¹L¡A¾ã¤Ñ¦¨¥æ¶qº|¤F3¦¨¥H¤W
©Ò¥H¤~¿ï¥Îtxt³oºØ¤ñ¸û³Â·Ðªº¤èªk¡A¦ý¬O¼Æ¾Ú´X¥G¤£·|º|

TOP

¦^´_ 14# GBKEE
G¤j¦­¦w¡A¸g¹L¨â¤Ñªº´ú¸Õ¡Aµo²{¥i¥H¹B¦æ¡A¦ý³£·|¦b·í¤U®É¶¡ªº«e¤@µ§¬ö¿ýªº°Ï°ìµo¥Í¿ù»~¡A¨Ò¦p²{¦b®É¶¡9:36 ´N·|¥u°O¿ý¨ì09:30«á»Ý­n°»¿ù
  1. If .Cells.Offset(1) = "" And Format(TimeValue(.Cells.Text), "HH:MM") = "13:45" Then
½Æ»s¥N½X
¼Ð°O³o¦æ¥N½X¡A¦ý§Ú¤]¬Ý¤£¥X¬O­þÃ䦳°ÝÃD¡A¤£¹L­Y¥H½L«á°õ¦æªº¸Ü³t«×½T¹ê­¸§Ö§r!!(½L«á¥i¥H§¹¾ã¹B¦æµL°»¿ù)
¥H¤U¬O§Ú½Õ¾ã¹Lªº
  1. Option Explicit
  2. Const ¶¡¹j = #12:05:00 AM#   '³o¸Ì­×§ï¤ÀÄÁ¶¡¹j
  3. Const ¶}½L = #8:45:00 AM#
  4. Sub k_15()
  5.     Dim i As Long, Ti As Integer, ¦¨¥æ»ù As Double, ¦hªÅ As Long, ¦h©ñ As Long
  6.     Dim xTime As Date
  7.     xTime = ¶}½L + ¶¡¹j
  8.     i = 0: Ti = 0
  9.     Do
  10.         With Sheets("³ø»ù¼Æ¾Ú").Range("b2").Offset(i)
  11.             If ¦¨¥æ»ù < .Cells(1, 2) Then ¦h©ñ = ¦h©ñ + .Cells(1, 3) Else ¦hªÅ = ¦hªÅ + .Cells(1, 3)
  12.             ¦¨¥æ»ù = .Cells(1, 2)
  13.             If .Value > xTime + ¶¡¹j Then
  14.                 With Sheets("¦hªÅ¼Æ¾Ú").Range("A2").Offset(Ti)
  15.                     .Resize(, 3) = Array(xTime, ¦h©ñ, ¦hªÅ)
  16.                     .NumberFormatLocal = "hh:mm;@"
  17.                 End With
  18.                  xTime = xTime + ¶¡¹j: Ti = Ti + 1
  19.              Else
  20.                 If .Cells.Offset(1) = "" And Format(TimeValue(.Cells.Text), "HH:MM") = "13:45" Then
  21.                     xTime = xTime + ¶¡¹j
  22.                     With Sheets("¦hªÅ¼Æ¾Ú").Range("A2").Offset(Ti)
  23.                         .Resize(, 3) = Array(xTime, ¦h©ñ, ¦hªÅ)
  24.                         .NumberFormatLocal = "hh:mm;@"
  25.                     End With
  26.                     Exit Do
  27.                 ElseIf .Cells.Offset(1) = "" Then '****µ{¦¡¹B¦æ³t«×«Ü§Ö·|¶]§¹³ø»ù¼Æ¾Ú **
  28.                      Do
  29.                         DoEvents
  30.                            '***µ{¦¡µ¥­Ô... ³ø»ù¤å¦rÀɪº¸ê®Æ¶Ç¤J**
  31.                      Loop Until Time >= xTime + #12:00:20 AM#
  32.                      ­«·s¾ã²z
  33.                 End If
  34.             End If
  35.         End With
  36.         DoEvents
  37.         i = i + 1
  38.     Loop
  39.     MsgBox "¤u§@§¹¦¨"
  40. End Sub
½Æ»s¥N½X
  1. Sub ­«·s¾ã²z()
  2.     ActiveWorkbook.RefreshAll
  3. End Sub
½Æ»s¥N½X
³ø»ù¼Æ¾Úªº§ó·s±Ä¥Î­«·s¾ã²z¡A¨ä»ù®æ´N·|§ó·s¤F¡A
¥t¥~¡A§Ú¬ÝG¤j§â¥¨¶°¦WºÙ³]¬°K15¡AµM«á¬Ý°õ¦æªºµ²ªG¦ü¥G¬O¥H15¤ÀÄÁ¥h¬ö¿ý¦h¤è¥[Á`»PªÅ¤è¥[Á`¡A
¤p§Ì·M²Â¡A·Q¸ß°Ý¸Ó¦p¦ó½Õ¾ã¬°6¼Óªº¨º¶µ¶}°ª§C¦¬»ù®æ©O¡AÁÂÁ¡I

TOP

¦^´_ 16# GBKEE

ÁÂÁÂG¤j¡A¬Q¤Ñ¤£ª¾¬O¤£¬O¨S¦³¶}½L«e°õ¦æ¡A¦³¤@¨Ç¤p°ÝÃD»Ý­n¬ã¨s¤@µf¡Aµ¥¶g¤@¦A¨Ó§¹¾ãªº´ú´ú¬Ý

TOP

        ÀR«ä¦Û¦b : ¡i°±º¢¤£«e¡A²×µL©Ò±o¡j¤H³£°g©ó´M§ä©_ÂÝ¡A¦]¦Ó°±º¢¤£«e¡FÁa¨Ï®É¶¡¦A¦h¡B¸ô¦Aªø¡A¤]¤FµL¥Î³B¡A²×µL©Ò±o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD