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

½Ð¦U¦ì¤j¤jÀ°¦£­×§ï«Ø¥ß®r¤J¹Ïªí¿ù»~»yªk

¦^´_ 10# c_c_lai

c_c_lai¤j­ô:§A¤Ó±j¤FÁÂÁ§A,³o¨â¤Ñ¤@©w­n¦n¦n¬ã¨s§Aªºµ{¦¡,¦p¦³¤£À´ªº¦a¤èÁٽФj­ô¦h¦h«ü¾É,­º¥ý. ­n½Ð±Ð¤j­ô¦p¦ó³]©wµ{¦¡«e­±§Ç¸¹

TOP

¦^´_ 11# lamihsuen
©p«üªº"¦p¦ó³]©wµ{¦¡«e­±§Ç¸¹"§ÚÁÙ¤£¬ÆÁA¸Ñ¦ó·N¡AÁ|­Ó¨Ò¤l¡H
¨Æ«á¡A§Ú¤S¥[¤F DataLabels ¶i¥h¡A¤º®e¦p¤U¡G
  1. (1)
  2. Sub DrawStatistics(ct As Integer)
  3.     Dim tbl As String

  4.     StartKBarRow = 6
  5.     With Worksheets(ct)
  6.         tbl = .Name
  7.         EndKBarRow = .Range("A1").CurrentRegion.Rows.Count
  8.         Set Chart_Source = Range(tbl & "!$C$" & CStr(StartKBarRow) & ":" & tbl & "!$C$" & CStr(EndKBarRow))
  9.         sPos(1) = CInt(Mid("205*090*090*100*132*096*132*090*173*090*314*090", (ct - 4) * 4 + 1, 3))    ' ¹Ï¼Ð®y¼Ð(¦C)
  10.         sPos(2) = CInt(Mid("001*001*001*001*001*001*001*001*001*001*001*001", (ct - 4) * 4 + 1, 3))    ' ¹Ï¼Ð®y¼Ð(Äæ)
  11.         ' sPos(3) = CInt(Mid("720*720*720*720*720*720*720*720*720*720*720*720", (ct - 4) * 4 + 1, 3))  ' ¹Ïªí¼e«×
  12.         ' ±N 12 ­Ó²Î­p¹Ïªí¼e«× 720 §¡§ï¦¨ 900¡A¦p¦¹¡A©ó¥[¤W DataLabels «á©¼¦¹¶¡ªº¶ZÂ÷·|Åܬ°¼eÃP¡A¦r¶Z¤ñ¸û¤£·|­«Å|¦A¤@°_¡C
  13.         sPos(3) = CInt(Mid("900*900*900*900*900*900*900*900*900*900*900*900", (ct - 4) * 4 + 1, 3))   
  14.         sPos(4) = CInt(Mid("320*320*320*320*320*320*320*320*320*320*320*320", (ct - 4) * 4 + 1, 3))    ' ¹Ïªí°ª«×
  15.         xText = UCase(tbl) & " : Z - Score"
  16.         »s¹Ïµ{§Ç xlSh:=tbl
  17.     End With
  18. End Sub

  19. (2)
  20.         With .SeriesCollection(1)
  21.             ' .
  22.             ' .
  23.             ' .
  24.             With .Border
  25.                 .Weight = xlHairline
  26.                 .LineStyle = xlNone
  27.             End With
  28.         
  29.             ' ¥[¤W DataLabels ¤ñ¸û¦³¬ÝÀY (¥H¤U¤T¦æ)¡A¼Æ¾Úªí¹F¤]¸û¿Ë©M©Ê¡C
  30.             .HasDataLabels = True
  31.             .DataLabels.NumberFormat = "##.####"    ' ¨ú¤p¼Æ¥|¦ì
  32.             .DataLabels.Position = xlLabelPositionOutsideEnd
½Æ»s¥N½X

TOP

¦^´_ 11# lamihsuen
©p¬O«ü
Dim sPos(1 To 4)      
'  «Å§i¤@­Ó¤½¥Î¤@ºû°}¦C¾ã¼Æ­ÈÅܼơA¥¦¦bDrawStatistics()¥H¤Î »s¹Ïµ{§Ç() ³£·|¨Ï¥Î¨ì¡C
Dim xText As String
'  «Å§i¤@­Ó¤½¥Î¦r¦êÅܼơA¥¦¦bDrawStatistics()¥H¤Î »s¹Ïµ{§Ç() ³£·|¨Ï¥Î¨ì¡C
Dim Chart_Source As Variant
' «Å§i¤@­Ó¤½¥Î Variant ¸ê®Æ«¬ºAÅܼơA¥Î©ó¬ö¿ý¹Ïªí¿ï¨ú¸ê®Æ¡A¥¦¦bDrawStatistics()¥H¤Î »s¹Ïµ{§Ç() ³£·|¨Ï¥Î¨ì¡C
Dim StartKBarRow, EndKBarRow As Long   
' ¥Î©ó¬ö¿ý¿ï¨ú¸ê®Æªº°_©l¡BºI¤î¦C¼Æ (°ÊºA¬ö¿ý¸ê®Æ¿ý¤§¥Î)¡C¥¦¥u¦³¦bDrawStatistics()¤º³¡¨Ï¥Î¡A¬OÀ³¸Ó©ñ¸m©ó
' DrawStatistics() ¤º«Å§iªº¡C·íªì¶}©l¼¶¼g®É¡A­ì¥»¦Ò¼{·|¸ó²[¦¡¦Ó±N¥¦¸m©ñ©ó¥~³¡¡Aµ{¦¡§ï¤F§ï«o§Ñ±¼¤F¡C
¶Ü¡H

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2012-7-21 06:42 ½s¿è

¦^´_ 11# lamihsuen
¹Ï¼Ð®y¼Ð(¦C)§ï¥H°ÊºA³B²z
  1. Sub DrawStatistics(ct As Integer)
  2.     Dim tbl As String
  3.     Dim totalRow As Long

  4.     StartKBarRow = 6
  5.     With Worksheets(ct)
  6.         tbl = .Name
  7.         EndKBarRow = .Range("A1").CurrentRegion.Rows.Count
  8.         Set Chart_Source = Range(tbl & "!$C$" & CStr(StartKBarRow) & ":" & tbl & "!$C$" & CStr(EndKBarRow))
  9.         
  10.         ' sPos(1) = CInt(Mid("205*090*090*100*132*096*132*090*173*090*314*090", (ct - 4) * 4 + 1, 3)) ' ¹Ï¼Ð®y¼Ð(¦C)
  11.         ' ¬°¦Ò¶q¦b¹ê°È¹B¥Î¤W¡A¨C±iªí³æ¤º§t¸ê®Æ¤º®e¤§¦h¹è¤£¤@¡A¥i¯à¹ê»Ú¨Ï¥Î¦C¼Æ®É¦³¼W´î¡A¬G§ï¥H°ÊºA³B²z¡C
  12.         sPos(1) = .UsedRange.Rows.Count
  13.         While IsEmpty(.Cells(sPos(1), 3).Value) And sPos(1) > 6       ' ©|¶·¦A¦¸¹LÂo³¡¤ÀªÅ¥Õ»P«D¯u¹ê¶×¤J¸ê®Æªº°ÝÃD¦C
  14.             sPos(1) = sPos(1) - 1
  15.         Wend
  16.         sPos(1) = sPos(1) + 5
  17.         
  18.         sPos(2) = CInt(Mid("001*001*001*001*001*001*001*001*001*001*001*001", (ct - 4) * 4 + 1, 3))   ' ¹Ï¼Ð®y¼Ð(Äæ)
  19.         sPos(3) = CInt(Mid("900*900*900*900*900*900*900*900*900*900*900*900", (ct - 4) * 4 + 1, 3))   ' ¹Ïªí¼e«×
  20.         sPos(4) = CInt(Mid("320*320*320*320*320*320*320*320*320*320*320*320", (ct - 4) * 4 + 1, 3))   ' ¹Ïªí°ª«×
  21.         xText = UCase(tbl) & " : Z - Score"
  22.         »s¹Ïµ{§Ç xlSh:=tbl
  23.     End With
  24. End Sub
½Æ»s¥N½X
¯¬©P¥½´r§Ö¡I

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2012-7-21 07:31 ½s¿è

¦^´_ 11# lamihsuen
¶K¤£¤W¹Ï¡A§Ú´N¥Î¼gªº¡G
½Ðª`·N¥H¤U¨â­Ó¤£¦P»yªk¤§¨Ï¥Î¡A¨äµ²ªG­È(¥H c ¤u§@ªí³æ¬°¨Ò ) ¤@­Ó¬O 50¡A¥t¤@­Ó¬O 200 (¦A¥[¤W5)¡C
(1)
        EndKBarRow = .Range("A1").CurrentRegion.Rows.Count
(2)
        ' sPos(1) = CInt(Mid("205*090*090*100*132*096*132*090*173*090*314*090", (ct - 4) * 4 + 1, 3)) ' ¹Ï¼Ð®y¼Ð(¦C)
        ' ¬°¦Ò¶q¦b¹ê°È¹B¥Î¤W¡A¨C±iªí³æ¤º§t¸ê®Æ¤º®e¤§¦h¹è¤£¤@¡A¥i¯à¹ê»Ú¨Ï¥Î¦C¼Æ®É¦³¼W´î¡A¬G§ï¥H°ÊºA³B²z¡C
        sPos(1) = .UsedRange.Rows.Count
        While IsEmpty(.Cells(sPos(1), 3).Value) And sPos(1) > 6       ' ©|¶·¦A¦¸¹LÂo³¡¤ÀªÅ¥Õ»P«D¯u¹ê¶×¤J¸ê®Æªº°ÝÃD¦C
            sPos(1) = sPos(1) - 1
        Wend
        sPos(1) = sPos(1) + 5                                                                    ' ¹Ï¼Ð®y¼Ð(¦C)
CurrentRegion »P UsedRange ªº¹B¥Î®t²§©Ê¡C

TOP

¦^´_ 10# c_c_lai
c_c_lai¤j­ô§A¹ê¦b¤Ó±j¤F§Úµo¤F¦nªøªº®É¶¡³£¹º¤£¦n,§A³ºµM¤@¤U¤l¯à§â¥¦¹º¥X¨Ó,³o¨â¤Ñ¤£­n¥X¥hºÆ¤l¤@©w­n¦n¦n¯d¦b®a,¬ã¨s§Aªºµ{¦¡,¦]¬°¦³¦n¦h³£¬Ý¤£À´,¨ì®ÉÁٽЧA¦h¦h«ü¾É
¥t¥~­n½Ð°Ý§A§Ç¦C¸¹¯d¦bµ{¦¡¤¤´N¤£¯à°õ¦æ,¥²¶·¤@¦æ¤@¦æ§R°£¤~¯à°õ¦æ,§Aªº¬O¤£¬O¤]¤@¼Ë,¦pªG¬O³o¼Ë´N¤£­n§Ç¦C¸¹¬O¤£¬O¤ñ¸û¦n?

TOP

¥»©«³Ì«á¥Ñ lamihsuen ©ó 2012-7-21 12:28 ½s¿è

¹êÅç«Ç¯à¤O¤ÀªR´ú¸Õ¤u§@ (­×§ï¤¤3.1).rar (188.19 KB) ¦^´_ 18# c_c_lai

c_c_lai¤j­ô   §Ú¤w¸g¤F¸Ñ§Aªº·N«ä¤F.¹Ïªí°Ï½d³ò·|ÀH¸ê®Æ¼Æ¦C¼Æ¦Ó§ïÅܤj¤p,§Ú§âµ{¦¡§@¤F¤@¨Ç§ïÅܦA½Ð¤j­ôÀ°§Ú¬Ý¬Ý,¥H¤Uªº°ÝÃD
1,½Ð¤j­ôÀ°§Úª`·N¤ô¥­¶bÃþ§O¬O¥H"a"Äæ¦C¼Æªº­È¬°¨Ì¾Ú,¦ý²{¦b¬O¥H¼Æ¦r¬°±Æ¦C,¨Ò¦p"c"¤u§@ªíªº"a"Äæ¦C¼Æªº­È(¹êÅç«Ç½s¸¹)¬O没¦³ 3  ªº¦ý¹Ïªí¤ô¥­¶b¸ê®Æ¬O¦³3
2 ¦pªG¹Ïªíªº¸ê®Æ¨Ó·½­n§ï¬°°õ¦æ³Ì«á¤@¦¸outlineªºªí®æ½d³ò®É,¥H"c"¤u§@ªí¬°¨Ò¬O"a"108¨ì"a"152 ¸ò"c"108 ¨ì"c"152 µ{¦¡­n¦p¦ó§ïÅÜ,°õ¦æ³Ì«á¤@¦¸outlineªºªí®æ¦C¼Æ§Ú¬O¥Hangin_sr§@¬°°_©l­ÈÅܼÆ
    ¥H"c"¤u§@ªí¬°¨Òangin_sr=109
   ·PÁ¤j­ô¸Ô²Ó¸ÑÄÀÅý§Ú¨ü¯q¨}¦h,¦³§A§Ú¤£¥Î©È·|¦³¥ÕÀY¾v¤F

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2012-7-21 17:50 ½s¿è

¦^´_ 20# lamihsuen
¥H "c" ¤u§@ªí¬°¨Ò¡A¦@¦³¥|­Ó°Ï¶¡¡A6-51,58-102,109-152,159-204¡A©Î
¥H "ni" ¤u§@ªí¬°¨Ò¡A¦@¦³¤T­Ó°Ï¶¡¡A6-42,49-84,91-127¡A©Î
¥H "mo" ¤u§@ªí¬°¨Ò¡A¦@¦³¥|­Ó°Ï¶¡¡A6-42,49-84,91-125,132-168¡C
¦b¹ê°È¤W©p¬O¦p¦ó§P©w­þ­Ó¤u§@ªí³æ¤§°Ï¶¡¬OÄÝ­þ¤@­Ó°Ï¶¡¡H
(¤]´N¬O12 ­Ó¦U¦Û¤u§@ªí³æ¨s³ºÀ³¿ï¾Ü­þ¤@­Ó°Ï¶¡§@¬°¹Ïªíªº "¿ï¨ú¸ê®Æ"¡H)

§Ú§â©pªº Module3 µyµy¾ã²z¤F¤@¤U¡A½Ð¯d·N¬O¨º¨ÇÅܤƤF¡H
  1. Option Explicit

  2. Dim sPos(1 To 4)
  3. Dim xText As String
  4. Dim Chart_Source As Variant
  5.    
  6. Public Sub ¦A¤ÀªRµ²ªG()
  7.     Dim wr As Integer, an As Integer     ' ³]©wCOPY¤u§@ªí¼Æ¥Ø­p¼Æ¾¹
  8.     Dim xlRow As Long
  9.     Dim angin_sr As Integer              ' ¤U¦¸°_©l ¦C °_ÂI
  10.     Dim sr As Integer                    ' ©w¸q²Ä¤@¦¸°_©l¦C¼Æ
  11.     Dim NGValue As Integer               ' ­pºâ "NG" ªº®a¼Æ
  12.     Dim again_oi, again_oj As Integer    ' ¤W¦¸ªí®æ¦C,¦æ¼Æ­p¼Æ¾¹
  13.     Dim again_ai, again_aj As Integer    ' ¥»¦¸ªí®æ¦C,¦æ¼Æ­p¼Æ¾¹
  14.     Dim chart_end As Integer
  15.     Dim z_sr As Integer
  16.     Dim z_oi, z_oj As Integer            ' ²Ä¤@¦¸ªí®æ¦C,¦æ¼Æ­p¼Æ¾¹
  17.     Dim z_ai, z_aj As Integer            ' z-scoreªí®æ¦C,¦æ¼Æ­p¼Æ¾¹
  18.     Dim mue_sr, mue_oi As Integer
  19.             
  20.     ' wr = 4  ¥Ø«e¹w³]±q c ¨ì sn¡A Á`¦@¦³ 12 ­Ó¤u§@ªí³æ
  21.     For wr = 4 To Worksheets.Count
  22.         sr = 6
  23.         an = 1
  24.         
  25.         NGValue = 0
  26.         
  27.         With Worksheets(wr)
  28.             ' ¤u§@ªí±q 4 °j°é¶}©l°õ¦æ¦A¤ÀªRµ²ªG¨ì¤u§@ªíªº³Ì«á
  29.             Do Until .Cells((sr - 3), 12).Value = 0
  30.                 ' outline ¤ÀªR¦¸¼Æ + 1.¨ÃÅã¥Ü¦b¼ÐÃD¦C (B4) Àx¦s®æ
  31.                 an = an + 1
  32.                        
  33.                 ' angin_sr=¦A¦¸¤ÀªR°_©l¦C¬°:²Ä¤@¦¸°_©l¦C¼Æ+²Ä¤@¦¸®a¼Æ+6®æªÅ®æ
  34.                 angin_sr = sr + (.Cells((sr - 3), 1).Value + 6)
  35.                
  36.                 ' §P§O ¤W¦¸¤ÀªR¦³"NG"ªº¥h°£,"OK"ªºCOPY¨ì¥»¦¸ªí®æ
  37.                 again_oi = sr
  38.                 again_ai = angin_sr
  39.                 ' °j°é§P§O "ok" »P "ng" ±q«e¦¸°_©l¦ì¸m¶}©l(sr)¦Ü«e¦¸ªí®æ³Ì«á(sr+«e¦¸ªí®æ"a"3)ªº­È
  40.                 For again_oi = again_oi To (sr + .Cells((sr - 3), 1).Value - 1)
  41.                     ' ¦pªG­È¬°"ok"¸Ó¦Ccopy ¨ì¥»¦¸ªí®æ.¦pªG­È¬°"ng"«h¤£³B²z
  42.                     If .Cells(again_oi, 5).Value = "OK" Then
  43.                         .Cells(again_ai, 1).Value = .Cells(again_oi, 1).Value
  44.                         .Cells(again_ai, 2).Value = .Cells(again_oi, 2).Value
  45.                         again_ai = again_ai + 1
  46.                     End If
  47.                 Next again_oi
  48.                      
  49.                 ' ±N«e¦¸²Ä¤T¦C¼ÐÃD¦C¼ÐÃD copy ¦Ü¥»¦¸ªí®æ²Ä¤T¦C¼ÐÃD¦C¼ÐÃD
  50.                 again_aj = 1
  51.                 For again_oj = 1 To 12
  52.                     .Cells(angin_sr - 4, again_aj).Value = .Cells(sr - 4, again_oj).Value
  53.                     again_aj = again_aj + 1
  54.                 Next again_oj
  55.                           
  56.                 ' §Q¥ÎÅܼƨD¥X¥»¦¸ªí®æ³Ì«á¦C¼Æ¥Øªº¥Î©ó¨D¥X²Ä¤T¦C¤½¦¡ªº³Ì«á½d³ò
  57.                 xlRow = .Range("B" & angin_sr).End(xlDown).Row
  58.                     
  59.                 chart_end = xlRow
  60.                 ' ­pºâ¥»¦¸ "A3" Àx¦s®æ NO.OF.RESULT­È(¤ÀªR­È®a¼Æ)±q¥»¦¸°_©l¦C¦Ü(angin_sr)¦Ü¥»¦¸³Ì«á¦C¼Æªº¼Æ¶q
  61.                 .Cells(angin_sr - 3, 1).Formula = "=COUNT(B" & angin_sr & ":B" & xlRow & ")"
  62.                 ' ¥»¦¸ "B3" Àx¦s®æ¤ÀªR­È¤¤¶¡­È (MEDIAN)
  63.                 .Cells(angin_sr - 3, 2).Formula = "=MEDIAN(B" & angin_sr & ":B" & xlRow & ")"
  64.                 ' ¥»¦¸ C3 Àx¦s®æ IRQ ´Ó
  65.                 .Cells(angin_sr - 3, 3).Formula = "=(QUARTILE(B" & angin_sr & ":B" & xlRow & ",3) -QUARTILE(B" & angin_sr & ":B" & xlRow & ",1))*0.7413"
  66.                         
  67.                 ' ¥»¦¸ "E3" Àx¦s®æROBUS CV­È
  68.                 .Cells(angin_sr - 3, 5).Formula = "=  C3 / B3 *100"
  69.                 ' ¥»¦¸ "F3" Àx¦s®æ¤ÀªR­È¤¤³Ì¤Ö­È
  70.                 .Cells(angin_sr - 3, 6).Formula = "=MIN(B" & angin_sr & ":B" & xlRow & ")"
  71.                 ' ¥»¦¸ "G3" Àx¦s®æ¤ÀªR­È¤¤³Ì¤j­È
  72.                 .Cells(angin_sr - 3, 7).Formula = "=MAX(B" & angin_sr & ":B" & xlRow & ")"
  73.                 ' ¥»¦¸ "H3" Àx¦s®æRANGE­È
  74.                 .Cells(angin_sr - 3, 8).Formula = "=G3-F3"
  75.                 ' ¥»¦¸©w¸q "I3" Àx¦s®æ¬° E178 ­È
  76.                 .Cells(angin_sr - 3, 9).Value = E178(.Cells(angin_sr - 3, 1).Value)
  77.                 ' ¥»¦¸©w¸q "j3" Àx¦s®æ¬°¤ÀªR­È¥­§¡­È
  78.                 .Cells(angin_sr - 3, 10).Formula = "=AVERAGE(B" & angin_sr & ":B" & xlRow & ")"
  79.                 ' ¥»¦¸©w¸q "k3" Àx¦s®æ¬°stdv
  80.                 .Cells(angin_sr - 3, 11).Formula = "=STDEV(B" & angin_sr & ":B" & xlRow & ")"
  81.                 ' ¥»¦¸ "NG" ®a¼Æ ­È
  82.                 .Cells(angin_sr - 3, 12).Value = NGValue
  83.                 ' ¥»¦¸¼ÐÃD¦C "°õ¦æ²Ä" ¦r¦êª½±µ±q«e¦¸Àx¦s®æ¦ì¸m copy
  84.                 .Cells(angin_sr - 2, 1).Value = .Cells(sr - 2, 1).Value
  85.                 ' ¥»¦¸¼ÐÃD¦CÅã¥Ü²Ä an ¦¸¤ÀªR
  86.                 .Cells(angin_sr - 2, 2).Value = an
  87.                 ' ¥»¦¸¼ÐÃD¦C "ouline" ¦r¦êª½±µ±q«e¦¸Àx¦s®æ¦ì¸m copy
  88.                 .Cells(angin_sr - 2, 3).Value = .Cells(sr - 2, 3).Value
  89.                 ' ¥»¦¸©w¸q¹êÅç«Ç½s¸¹¼ÐÃD¦Cª½±µ±q«e¦¸Àx¦s®æ¦ì¸m copy
  90.                 .Cells(angin_sr - 1, 1).Value = .Cells(sr - 1, 1).Value
  91.                 ' ¥»¦¸©w¸q¹êÅç«Ç¤ÀªR­È¼ÐÃD¦Cª½±µ±q«e¦¸Àx¦s®æ¦ì¸m copy
  92.                 .Cells(angin_sr - 1, 2).Value = .Cells(sr - 1, 2).Value
  93.                 ' ¥»¦¸©w¸qz-score­È¼ÐÃD¦Cª½±µ±q«e¦¸Àx¦s®æ¦ì¸m copy
  94.                 .Cells(angin_sr - 1, 3).Value = .Cells(sr - 1, 3).Value
  95.                 ' ¥»¦¸©w¸qoutline¼ÐÃD¦Cª½±µ±q«e¦¸Àx¦s®æ¦ì¸m copy
  96.                 .Cells(angin_sr - 1, 4).Value = .Cells(sr - 1, 4).Value
  97.                 ' ©w¸q§P©wµ²ªG­È¼ÐÃD¦Cª½±µ±q«e¦¸Àx¦s®æ¦ì¸m copy
  98.                 .Cells(angin_sr - 1, 5).Value = .Cells(sr - 1, 5).Value
  99.                 ' ¥»¦¸ "C" Äæ Z-SCORE ­È­pºâ
  100.                 .Range("C" & angin_sr & " :C" & xlRow).Formula = "=(b" & angin_sr & "-$B$" & angin_sr - 3 & ") /$C$" & angin_sr - 3
  101.                 ' ¥»¦¸ "D" Äæ OUTLINE ­È­pºâ
  102.                 .Range("d" & angin_sr & " :d" & xlRow).Formula = "= (B" & angin_sr & " -$J$" & angin_sr - 3 & ")/$K$" & angin_sr - 3
  103.                        
  104.                 ' ¥»¦¸ "E' Äæ§P§O OUTLINE,  true="ok"  FALSE="NG"
  105.                 ' "NG"®a¼Æ°_©l­È ,¥Øªº"±N¦³"ng"®a¼Æ°O¿ý¦b"L3"Äæ¦ì¥Î©ó¬O§_Ä~Äò§P§O OUTLINE
  106.                        
  107.                 .Range("L" & angin_sr - 3).Value = 0
  108.                           
  109.                 ' ¶}©l§P§O±q¥»¦¸°_©l¦C¶}©l
  110.                 ' again_ai = angin_sr
  111.                              
  112.                 ' For again_ai = again_ai To ((angin_sr) + .Range("A" & angin_sr - 3).Value - 1)
  113.                 For again_ai = angin_sr To ((angin_sr) + .Range("A" & angin_sr - 3).Value - 1)
  114.                     ' ¤ñ¹ï D6 ¬O§_ < E178 ­È (I3) Äæ
  115.                     If .Range("D" & again_ai).Value < .Range("I" & angin_sr - 3).Value Then
  116.                         ' ­È = TRUE ®É E Äæ°O¿ý "OK"
  117.                         .Range("E" & again_ai).Value = "OK"
  118.                     Else
  119.                         ' ­È = FLACE®ÉEÄæ°O¿ý "NG"
  120.                         .Range("E" & again_ai).Value = "NG"
  121.                         ' ³] "NG" FONT.COLOR ¬°¬õ¦â
  122.                         .Range("E" & again_ai).Font.Color = vbRed
  123.                         ' "NG" ®a¼Æ + 1
  124.                         .Range("L" & angin_sr - 3).Value = .Range("L" & angin_sr - 3).Value + 1
  125.                     End If
  126.                 Next again_ai
  127.                                  
  128.                 ' ¦pªGÁÙ¦³ "NG" ­ÈÄ~Äò°õ¦æ OUTLINE
  129.                 ' ±N¥»¦¸ªí®æ¦C¼Æ­È³]©wµ¹¤W¦¸ªí®æ¦C¼Æ¥Øªº±N¥»¦¸ªí®æ¦C¼Æ§@¬°¤U¦¸ªí®æ­pºâ°ò¦
  130.                 sr = angin_sr
  131.             Loop
  132.                
  133.             ' ********¦¹³B¬°.Cells((sr - 3), 12).Value =0."NG" ®a¼Æ=0 ¥þ³¡""¥i°õ ¦æZ-SCORE
  134.             ' ©w¸qz_sr¬°z_score°_©lªí®æ¦C
  135.             angin_sr = sr ' ±N sr ­È¦^´pµ¹ angin_sr ¥Øªº¬°§â³Ì«á¤@¦¸ outline "sr=angin_sr" ¦^´p¦^¨Ó
  136.             sr = 6        ' ±Nsr¦^´p¨ì²Ä¤@¦¸ªí®æ°_©l¦ì¸m
  137.                   
  138.             ' z_sr = °õ¦æ z-score °_©l¦C¬°: ³Ì«á¤@¦¸°_©l¦C¼Æ + ³Ì«á¤ÀªR®a¼Æ + 6 ®æªÅ®æ
  139.             z_sr = angin_sr + (.Cells((angin_sr - 3), 1).Value + 6)
  140.                   
  141.             ' ³]©w¤¸¯À z_score ¼ÐÃD¦C¼ÐÃD (z_score ªº²Ä¤T¦C)
  142.             .Cells((z_sr - 2), 1).Value = "°õ¦æ"
  143.             .Cells((z_sr - 2), 2).Value = .Name
  144.             .Cells((z_sr - 2), 3).Value = "z_score"
  145.                   
  146.             ' ±N²Ä¤@¦¸ªí®æ "¹êÅç«Ç½s¸¹" (²Ä¤@¦æ¸¹)»P "¤ÀªR­È" (²Ä¤G¦æ) copy ¦Ü z_score ªí®æ¦]¬°­n¥þ³¡ "¹êÅç«Ç½s¸¹" »P "¤ÀªR­È"
  147.                        
  148.             z_oi = sr                      ' z_oi ©w¸q¬° ²Ä¤@¦¸ °_©l®æªí®æ¶}©l­p¼Æ
  149.             z_ai = z_sr                    ' z_ai ©w¸q¬° z_score °_©lªí®æ¶}©l­p¼Æ
  150.                  
  151.             For z_oi = z_oi To sr + .Cells((sr - 3), 1).Value
  152.                 .Cells(z_ai, 1).Value = .Cells(z_oi, 1).Value
  153.                 .Cells(z_ai, 2).Value = .Cells(z_oi, 2).Value
  154.                 z_ai = z_ai + 1
  155.             Next z_oi
½Æ»s¥N½X

TOP

¦^´_ 17# lamihsuen
  1.             ' ±N³Ì«á¤@¦¸²Ä¤@¦C(¤½¦¡)¼ÐÃD¦C¼ÐÃD»P²Ä¤G¦C¤½¦¡­È copy ¦Ü ZSCORE ªí®æ²Ä¤@¦C»P²Ä¤G¦C
  2.             z_oi = angin_sr
  3.             z_ai = z_sr
  4.             z_aj = 1
  5.             For z_oj = 1 To 12
  6.                 .Cells(z_ai - 4, z_aj).Value = .Cells(z_oi - 4, z_oj).Value
  7.                 .Cells(z_ai - 3, z_aj).Value = .Cells(z_oi - 3, z_oj).Value
  8.                 z_aj = z_aj + 1
  9.             Next z_oj
  10.             ' ©w¸q²Ä¥|¦Cªí®æ¼ÐÃD¦C
  11.             xlRow = .Range("B" & z_sr).End(xlDown).Row
  12.             .Cells((z_sr - 1), 1).Value = .Cells((sr - 1), 1).Value
  13.             .Cells((z_sr - 1), 2).Value = .Cells((sr - 1), 2).Value
  14.             .Cells((z_sr - 1), 3).Value = .Cells((sr - 1), 3).Value
  15.             .Cells((z_sr - 1), 4).Value = "§P§Oµ²ªG"
  16.             .Cells((z_sr - 1), 5).Value = "¤ÀªR¤èªk"
  17.             .Cells((z_sr - 1), 6).Value = "¨Ï¥Î»ö¾¹"
  18.                                                          
  19.             ' ¥»¦¸ "C" Äæ Z-SCORE ­È­pºâ
  20.             ' .Range("C" & z_sr & " :C" & xlRow).Formula = "=(b" & z_sr & "-$B$" & z_sr - 3 & ") /$C$" & z_sr - 3
  21.             ' .Range("D" & z_sr & " :D" & xlRow).Formula = "=IF(C" & z_sr & ">=3,""²§±`"",IF( C" & z_sr & "<=2,""ok"",""¦³½èºÃ""))"
  22.          
  23.             ' 2012/7/20 ·s¼W¦C
  24.             ' §P§O¥»¦¸ "C" Äæ Z-SCORE ­È¦pªG¬O outline «h z ­ÈÅã¥Ü "*"
  25.             ' ³]©w mue_sr, mue_oi ¬° z ­ÈÄæ¦ì­p¼Æ¾¹
  26.             mue_sr = z_sr
  27.             mue_oi = angin_sr
  28.             For mue_sr = mue_sr To xlRow
  29.                 If .Cells(mue_sr, 1) = .Cells(mue_oi, 1) Then
  30.                     .Cells(mue_sr, 3).Formula = "=(b" & mue_sr & "-$B$" & z_sr - 3 & ") /$C$" & z_sr - 3
  31.                     If .Cells(mue_sr, 3).Value > 3 Or .Cells(mue_sr, 3).Value <= -3 Then
  32.                         .Cells(mue_sr, 3).Font.Color = RGB(255, 0, 255)
  33.                     End If
  34.                     mue_oi = mue_oi + 1
  35.                 Else
  36.                     .Cells(mue_sr, 3).Value = "*"
  37.                     .Cells(mue_sr, 3).Interior.Color = RGB(255, 0, 0)
  38.                     .Cells(mue_sr, 3).HorizontalAlignment = xlHAlignCenter
  39.                 End If
  40.             Next mue_sr
  41.             '  ©w¸q z ­È§P§Oµ²ªG¨ÃÅã¥Ü (D) Äæ,"(Z) ­È <= 2 ¬° "OK" Åã¥Üºñ¦â","2<(Z) ­È <3 ¬° "¦³½èºÃ" Åã¥Ü¶À¦â,(Z)­È >3 ¬° "²§±`" Åã¥Ü¬õ¦â
  42.         End With
  43.             
  44.         '  Ã¸»s²Î­p¤ÀªR¹Ïªí
  45.         Call DrawStatistics(wr)
  46.     Next wr
  47. End Sub

  48. Sub DrawStatistics(ct As Integer)
  49.     Dim tbl As String
  50.     Dim totalRow As Long
  51.     Dim StartKBarRow, EndKBarRow As Long

  52.     StartKBarRow = 6
  53.     With Worksheets(ct)
  54.         tbl = .Name
  55.         EndKBarRow = .Range("A1").CurrentRegion.Rows.Count
  56.         Set Chart_Source = Range(tbl & "!$C$" & CStr(StartKBarRow) & ":" & tbl & "!$C$" & CStr(EndKBarRow))
  57.         
  58.         ' sPos(1) = CInt(Mid("205*090*090*100*132*096*132*090*173*090*314*090", (ct - 4) * 4 + 1, 3)) ' ¹Ï¼Ð®y¼Ð(¦C)
  59.         ' ¬°¦Ò¶q¦b¹ê°È¹B¥Î¤W¡A¨C±iªí³æ¤º§t¸ê®Æ¤º®e¤§¦h¹è¤£¤@¡A¥i¯à¹ê»Ú¨Ï¥Î¦C¼Æ®É¦³¼W´î¡A¬G§ï¥H°ÊºA³B²z¡C
  60.         sPos(1) = .UsedRange.Rows.Count
  61.         While IsEmpty(.Cells(sPos(1), 3).Value) And sPos(1) > 6       ' ©|¶·¦A¦¸¹LÂo³¡¤ÀªÅ¥Õ»P«D¯u¹ê¶×¤J¸ê®Æªº°ÝÃD¦C
  62.             sPos(1) = sPos(1) - 1
  63.         Wend
  64.         sPos(1) = sPos(1) + 5
  65.         
  66.         sPos(2) = CInt(Mid("001*001*001*001*001*001*001*001*001*001*001*001", (ct - 4) * 4 + 1, 3))   ' ¹Ï¼Ð®y¼Ð(Äæ)
  67.         sPos(3) = CInt(Mid("900*900*900*900*900*900*900*900*900*900*900*900", (ct - 4) * 4 + 1, 3))   ' ¹Ïªí¼e«×
  68.         sPos(4) = CInt(Mid("320*320*320*320*320*320*320*320*320*320*320*320", (ct - 4) * 4 + 1, 3))   ' ¹Ïªí°ª«×
  69.         xText = UCase(tbl) & " : Z - Score"
  70.         »s¹Ïµ{§Ç xlSh:=tbl
  71.     End With
  72. End Sub

  73. Private Sub »s¹Ïµ{§Ç(xlSh As String)                                ' ¥þ³¡­«Ã¸
  74.     Dim Sh As Worksheet, xi As Integer
  75.    
  76.     Set Sh = Sheets(xlSh)
  77.     Sh.ChartObjects.Delete

  78.     With Sh.ChartObjects.Add(Sh.Cells(sPos(1), sPos(2)).Left, Sh.Cells(sPos(1), sPos(2)).Top, sPos(3), sPos(4)).Chart
  79.         .ChartType = xlColumnClustered                          ' xlColumnStacked -> °ïÅ|ª½±ø¹Ï
  80.         .SetSourceData Source:=Chart_Source
  81.         .HasLegend = 0                                          ' ¹Ïªíªº¹Ï¨Ò:  ¤£¥i¨£
  82.         .SeriesCollection(1).AxisGroup = 1
  83.             
  84.         With .Axes(xlCategory)                                  ' X®y¼Ð¶b
  85.             .CategoryType = xlCategoryScale
  86.             ' .TickLabels.NumberFormatLocal = "hh:mm"
  87.             .MajorTickMark = xlNone
  88.             .Border.Weight = xlHairline
  89.             .Border.LineStyle = xlNone
  90.             .TickLabelPosition = xlLow
  91.             .TickLabels.Font.Size = 10
  92.         End With
  93.                   
  94.             '*******************************************************************
  95.                   
  96.         With .SeriesCollection(1)
  97.             .Shadow = False                                ' ¹Ïªí¤¤ªº¼Æ¦C(1)
  98.             .InvertIfNegative = True
  99.             ' .InvertColor = RGB(255, 124, 128)                      ' ·íªí¦C¼Æ­È¬°­t­È®É¡A±N¨äÅã¥Ü¤§ÃC¦â§óÅܦ¨²L¤ÑÂŦâ
  100.             .InvertColor = RGB(32, 178, 208)                         ' ·íªí¦C¼Æ­È¬°­t­È®É¡A±N¨äÅã¥Ü¤§ÃC¦â§óÅܦ¨«CÂŦâ
  101.         
  102.             With .Format.Fill
  103.                 .Visible = msoTrue
  104.                 ' .ForeColor.RGB = RGB(149, 179, 215)                ' ·íªí¦C¼Æ­È¬°¥¿­È®É¡AÅã¥Ü¤§ÃC¦â¬°¾ï¬õ¦â
  105.                 .ForeColor.RGB = RGB(255, 69, 0)                     ' ·íªí¦C¼Æ­È¬°¥¿­È®É¡AÅã¥Ü¤§ÃC¦â¬°¯»¬õ¦â
  106.                 .Transparency = 0
  107.                 .Solid
  108.             End With
  109.         
  110.             With .Border
  111.                 .Weight = xlHairline
  112.                 .LineStyle = xlNone
  113.             End With
  114.         
  115.             .HasDataLabels = True
  116.             .DataLabels.NumberFormat = "##.##"
  117.             .DataLabels.Position = xlLabelPositionOutsideEnd
  118.             ' With .Interior
  119.             '     .ColorIndex = 5
  120.             '     .PatternColorIndex = 42
  121.             '     .Pattern = xlSolid
  122.             ' End With
  123.         End With
  124.                   
  125.         ' *******************************************************************
  126.                      
  127.         With .Axes(xlValue).TickLabels.Font                    ' Y®y¼Ð¶b¤W¨è«×ªº¨è«×¼ÐÅÒªº¦rÅé
  128.             .FontStyle = "¼Ð·Ç"
  129.             .Size = 10
  130.         End With
  131.                      
  132.         With .Axes(xlValue)
  133.             .MajorUnit = 2                                     ' ¹Ïªí¥ª°¼¼Æ¦C¤§¶¡¶Z­È³]©w
  134.             ' .MaximumScale = 30
  135.             ' .MinimumScale = -40
  136.         End With
  137.         
  138.         .HasTitle = True                                       ' ¹Ïªíªº¼ÐÃD   ¥i¨£
  139.               
  140.         With .ChartTitle                                       ' ¹Ïªíªº¼ÐÃD
  141.             .Top = 1
  142.             .Text = xText
  143.             .Font.Size = 16
  144.         End With

  145.         With .PlotArea                                         ' ¹ÏªíªºÃ¸¹Ï°Ï
  146.             .Top = 16
  147.             .Left = 1
  148.             .Width = sPos(3)
  149.             .Height = sPos(4)
  150.             .Interior.ColorIndex = xlNone
  151.         End With
  152.     End With
  153. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ lamihsuen ©ó 2012-7-21 20:24 ½s¿è

¦^´_ 18# c_c_lai


c_c_lai ¤j­ô, §Ú­n¨Ï¥Î­Ë¼Æ²Ä¤G­Ó°Ï¶¡,
¥H"c"¨Ó»¡¬O109-152, ¥H"ni"¬O49-84, ¦Ó"mo"¬O91-125
¥t¥~7/20¤é·s¼Wªº¦C¬O­n¨ú¥N¤U¦Cµ{¦¡¦]¦¹¤U¦Cµ{¦¡§Ú¤w¸g§R°£¤F
19.            ' ¥»¦¸ "C" Äæ Z-SCORE ­È­pºâ

20.            ' .Range("C" & z_sr & " :C" & xlRow).Formula = "=(b" & z_sr & "-$B$" & z_sr - 3 & ") /$C$" & z_sr - 3

21.            ' .Range("D" & z_sr & " :D" & xlRow).Formula = "=IF(C" & z_sr & ">=3,""²§±`"",IF( C" & z_sr & "<=2,""ok"",""¦³½èºÃ""))"


¥t¥~§Ú·Q¥[¤J¤ô¥­¶b¼ÐÃD»P««ª½¶b¼ÐÃD ¥[¤J¤U¦C»yªk(¤ô¥­¶b¼ÐÃD"¹êÅç«Ç½s¸¹")««ª½¶b¼ÐÃD"z_score"


        With .Axes(xlCategory)                                  ' X®y¼Ð¶b

             .CategoryType = xlCategoryScale

             ' .TickLabels.NumberFormatLocal = "hh:mm"

            .MajorTickMark = xlNone

            .Border.Weight = xlHairline

             .Border.LineStyle = xlNone

             .TickLabelPosition = xlLow

             .TickLabels.Font.Size = 10
              .HasTitle = True                       **********  '³o¬O§Ú¥[¤Jªº  *********
              AxisTitle.Text = "¹êÅç«Ç½s¸¹"
            
         End With
³o¼Ë¥i¥H¶Ü?

TOP

        ÀR«ä¦Û¦b : ÁÀ¨¥¹³¤@¦·²±¶}ªºÂAªá¡A¥~ªí¬üÄR¡A¥Í©Rµu¼È¡C
ªð¦^¦Cªí ¤W¤@¥DÃD