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

[µo°Ý] ½Ð¥ý¶i­Ì¨ó§U°»¿ù

[µo°Ý] ½Ð¥ý¶i­Ì¨ó§U°»¿ù

[ª©¥DºÞ²z¯d¨¥]
  • GBKEE(2018/9/3 14:10): §Aªºµ{¦¡½X¤£§¹¾ã,³Ì¦nªþ¤WÀɮרÓ

  1. Sub Pattern(Rng As Range, xCode, xDate As Range)
  2.     Dim H As Range, L As Range, C As Range, rh As Range, rl As Range
  3.     Dim Tf1 As Boolean, Tf2 As Boolean
  4.     Dim i, j, k, th, tl, sw
  5.     i = 0: j = 0: k = 0
  6.     th = 0: tl = 0: sw = 0
  7.     Do While i < 8 '¨ú6­ÓÂI
  8.         Set H = grabData("°ª", xCode, xDate).Offset(0, j)
  9.         Set L = grabData("§C", xCode, xDate).Offset(0, j)
  10.         Set C = grabData("¦¬", xCode, xDate).Offset(0, j)
  11.         If j > 300 Then Exit Do '­­¨î¸ê®Æ®w½d³ò
  12.         If C <> "" Then
  13.             k = k + 1 '­p¼Æ
  14.             If k = 1 Then GoSub RefreshHL
  15.             Tf1 = sw >= 0 And C < tl * 0.9
  16.             Tf2 = sw <= 0 And C > th * 1.1
  17.             If Tf1 Or Tf2 Then
  18.                 GoSub MoveAndSwitch
  19.                 GoSub WriteDataIn
  20.                 GoSub RefreshHL
  21.             Else
  22.                 Set rh = IIf(H > rh, H, rh)
  23.                 Set rl = IIf(L < rl, L, rl)
  24.                 th = IIf(H < th, H, th)
  25.                 tl = IIf(L > tl, L, tl)
  26.                 GoSub WriteDataIn
  27.             End If
  28.         End If        
  29.         Debug.Print sw & "_" & j & "_" & k & "_" & i
  30.         j = j + 1
  31.     Loop
  32. Exit Sub
½Æ»s¥N½X
¦bdo while°j°é¤º¡Adebug.printªºµ²ªG¡Aj³£¬O±q102¶}©l¡A¤£ª¾¹D¬O­þ¸Ì¿ù¤F
½Ð¤j®aÀ°¦£¬Ý¬Ý
ÁÂÁ¤j®a
¤£¶i«h°h

¥»©«³Ì«á¥Ñ mnsmrtl ©ó 2018-9-3 15:38 ½s¿è
  1. Sub Ac§ìĵ¥Ü()
  2.     Call GetAlarm(1)
  3. End Sub

  4. Sub GetAlarm(Nd)
  5.     Dim xRow%, xCode, xDate As Range, i, j, writeIn As Range
  6.     Call AÃö³¬
  7.     xRow = Sheets("°ò¥»").[A1].End(xlDown).Row
  8.     For i = 2 To xRow
  9.         With Sheets("°ò¥»")
  10.             xCode = .Cells(i, "A")
  11.             Set writeIn = .Range(.Cells(i, "C"), .Cells(i, "T")) '«¬ºA°ª§C    ¼g¤J¸ê®Æ½d³ò
  12.         End With
  13.         Set xDate = Sheets("¦¬").Cells(1, 3).Offset(0, Nd - 1) '®Ú¾Ú°Ñ¼Æ­×§ï°_©l¤Ñ¼Æ
  14.         Call Pattern(writeIn, xCode, xDate)
  15.     Next i
  16.     Call A¶}±Ò
  17. End Sub

  18. Function grabData(Sht$, xCode, xDate As Range) '±q¸ê®Æ®w§ì¨ú¼Æ¾Ú
  19.     Dim matC, matD
  20.     With Sheets(Sht)
  21.         matC = WorksheetFunction.Match(xCode, .Columns(1), 0)
  22.         matD = WorksheetFunction.Match(xDate, .Rows(1), 0)
  23.         Set grabData = .Cells(matC, matD)
  24.     End With
  25. End Function

  26. Function fbdate(Rng As Range) '«öÀx¦s®æ§ä¡u¤é´Á¡v
  27.     Set fbdate = Sheets(Rng.Worksheet.Name).Cells(1, Rng.Column)
  28. End Function

  29. Sub Pattern(Rng As Range, xCode, xDate As Range)
  30.     Dim H As Range, L As Range, C As Range, rh As Range, rl As Range
  31.     Dim Tf1 As Boolean, Tf2 As Boolean
  32.     Dim i, j, k, th, tl, sw
  33.     Rng.ClearContents
  34.     i = 0: j = 0: k = 0
  35.     th = 0: tl = 0: sw = 0
  36.     Do While i < 8 '¨ú6­ÓÂI
  37.         Set H = grabData("°ª", xCode, xDate).Offset(0, j)
  38.         Set L = grabData("§C", xCode, xDate).Offset(0, j)
  39.         Set C = grabData("¦¬", xCode, xDate).Offset(0, j)
  40.         If j > 300 Then Exit Do '­­¨î¸ê®Æ®w½d³ò
  41.         If C <> "" Then
  42.             k = k + 1 '­p¼Æ
  43.             If k = 1 Then GoSub RefreshHL
  44.             Tf1 = sw >= 0 And C < tl * 0.9
  45.             Tf2 = sw <= 0 And C > th * 1.1
  46.             If Tf1 Or Tf2 Then
  47.                 GoSub MoveAndSwitch
  48.                 GoSub WriteDataIn
  49.                 GoSub RefreshHL
  50.             Else
  51.                 Set rh = IIf(H > rh, H, rh)
  52.                 Set rl = IIf(L < rl, L, rl)
  53.                 th = IIf(H < th, H, th)
  54.                 tl = IIf(L > tl, L, tl)
  55.                 GoSub WriteDataIn
  56.             End If
  57.         End If
  58.         Debug.Print H.Column
  59.         j = j + 1
  60.     Loop
  61. Exit Sub
  62. MoveAndSwitch:
  63.     i = i + 1
  64.     sw = IIf(sw >= 0, -1, 1)
  65.     Return
  66. WriteDataIn:
  67.     If i < 7 And i > 0 Then
  68.         Rng(i) = IIf(sw = 1, rh, rl)
  69.         Rng(i + 6) = fbdate(IIf(sw = 1, rh, rl))
  70.         Rng(i + 12) = k
  71.     End If
  72.     Return
  73. RefreshHL:
  74.     Set rh = H
  75.     Set rl = L
  76.     th = H
  77.     tl = L
  78.     Return
  79. End Sub
½Æ»s¥N½X
¦]¬°ÀÉ®×À£ÁY«á¤]¬O¶W¹L1MB¡A©Ò¥H§Ú§â¦³¥Î¨ìªºµ{¦¡½X¶°¤¤©ñ¤@°_¦A¶K¤@¦¸
¹ï©óÅܼÆJ¡A¦b¨ä¥Lµ{§Ç¨S¦³°µ¤°»ò°Ê§@
Àɮפº¡A¬O¦UªÑ²¼ªº¨C¤é¶}½L¥|»ù¤Î¦¨¥æ¶q
¦p¹Ï
TO³Â»¶®a±Ú.jpg
2018-9-3 15:33



ºÊ¬Ý¦¡ªº³¡¤À¡A§Ú­n¦A¬d¤@¤U¸ê®Æ¡A¬Ý«ç»ò¥Î¡KÁÂÁ¼ӤW«üÂI

¤W¶Ç¨ìMEGAªÅ¶¡¤F¡A¤j¬ù15M¡Aºô§}¦p¤U
https://mega.nz/#!uTZkGI4K!XtnUzYtIyzsHBFPNF4hGrcroUtzdO8UthkdFSorPVxk
¤£¶i«h°h

TOP

¤£ª¾¹D­þ¥X¤F°ÝÃD¡A§Úª©¥»¬O2007¡A¤£ª¾¹D¸ò³o¦³¨S¦³Ãö«Y
TO³Â»¶®a±Ú1.jpg
2018-9-3 16:54
¤£¶i«h°h

TOP

¦^´_ 6# a5007185

¸g­×§ï«á¡A§Úµo²{µ{¦¡¦³°õ¦æ¡A¦ý¬Odebug.Print¥¼Åã¥Ü
¤£ª¾¹D¬O­þ¥X¤F°ÝÃD¡AÁÂÁ¼ӤW«ü¾É
¤£¶i«h°h

TOP

¦^´_ 8# a5007185

«z®@¡AÁÙÅý±z°µ¼v¤ù¡A¯u¤£¦n·N«ä
ºÊ¬Ý¦¡°ÝÃD¤w¸Ñ¨M¡A¤£¹L¦b§Y®É¹Bºâµøµ¡¤º¡A¨ÌµM¥uÅã¥Ü102¤§«á
¦ý¼g¤JÀx¦s®æªº³¡¤À¡A½T¹ê¦³100¥H¤ºªº
¥i¯à¬OÅã¥Ü°ÝÃD¡A©Î¬O°O¾ÐÅ餣¨¬§a¡K¡H

ºô¸ô¤Wªº¤å³¹¬O¦³´£¹L¡A¦³¥i¯à¦]¬°­È¤£¦s¦b¡A©Ò¥H¨SÅã¥Ü¥X¨Ó
©Î³\¬O¨ä¤¤¤@­ÓÅܼƨì102¤§«á¤~¦³¡H

Á`¤§¡A¤ñ¹ïÀx¦s®æªº¤º®e¤§«á¡A§Úµo²{µ{§ÇªºÅÞ¿è¤]¤£¤Ó¹ï¡A©Ò¥H¾ã­Ó³£­×§ï¤F
¥Ø«e¤w¨S¦³°ÝÃD¡AÁÂÁ±zªºÀ°§U¡A·P®¦
¤£¶i«h°h

TOP

¦^´_ 10# a5007185

­ì¨Ó¦p¦¹¡A·PÁ±zªº¤À¨É
§Ú´N¨S·Q¨ì¥i¥H³o¼Ë´ú¸Õ¡A¾Ç¨ì¤F~
¤£¶i«h°h

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