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

奬ª÷­n¦p¦ó¥Îvba­pºâ©O

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-7-21 05:30 ½s¿è

¦^´_ 1# sillykin
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim I As Integer
  4.     With Sheets("¡®¡®³æ¦ì¦¨ÁZÁ`ªí¡®¡®").Range("A3")
  5.         Do While .Offset(I) <> ""
  6.             ¼úª÷µ{¦¡ .Offset(I), .Offset(I, 2), .Offset(I, 4)
  7.             I = I + 1
  8.         Loop
  9.     End With
  10. End Sub
  11. Private Sub ¼úª÷µ{¦¡(³æ¦ì As Range, ¾ºÙ As String, ¹F¦¨ÃB As Integer)
  12.     Dim Ar(1 To 2), M, ³d¥ôÃB As Integer, ¹F¦¨¦Ê¤À¤ñ As Single, ¼úª÷ As Integer, °ÆÁ`¼úª÷ As Integer
  13.     '  ****(±ø¥ó¤u§@ªí¤¤) ¨S¦³ªºÂ¾ºÙ ->  °ª¯Å±M­û, Åv²z¸g²z  ***
  14.     If ³æ¦ì Like "ºÞ²z*" Then
  15.         'ºÞ²z³æ¦ì:  ¤Gµ¥Á¸²z, ¤@µ¥Á¸²z, °Æ¸g²z,  ¸g²z
  16.         '³d¥ôÃB  :     600 ,     700 ,  800  ,   900
  17.         Ar(1) = Array("¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¸g²z")    '***ºÞ²z³æ¦ì :¨S¦³ªºÂ¾ºÙ ,°ÆÁ`¸g²z
  18.         
  19.         Ar(2) = Array(300, 600, 700, 800, 900, 2500)                                '°}¦C(³d¥ôÃB) :
  20.     Else
  21.         'Àç·~³æ¦ì:  ¤Gµ¥Á¸²z, ¤@µ¥Á¸²z, °Æ¸g²z, ( ¨ó²z¡B¸g²z)  °ÆÁ`¸g²z
  22.         '³d¥ôÃB  :     1500 ,     2000,   2200,     (µù1)    ,  2,500
  23.         Ar(1) = Array("¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¨ó²z", "¸g²z", "°ÆÁ`¸g²z")
  24.         Ar(2) = Array(500, 1500, 2000, 2200, "(µù1)", "(µù1)", 2500)                '°}¦C(³d¥ôÃB) :
  25.     End If
  26.     M = Application.Match(¾ºÙ, Ar(1), 0)                                           'M > 0 ¬°·F³¡
  27.     °ÆÁ`¼úª÷ = 0
  28.     If IsError(M) Then
  29.         '***** Match¤£¨ì¾ºÙ®É, M = ¿ù»~­È -> «D·F³¡**********
  30.          ³d¥ôÃB = Ar(2)(0)                                                          '«D·F³¡ ³d¥ôÃB: 300 ©Î 500
  31.         If ³æ¦ì Like "ºÞ²z*" Then   'ºÞ²z³æ¦ì
  32.             '°}¦C:ºÞ²z³æ¦ì «D·F³¡ (¼úÃg¼úª÷ ªí)
  33.             Ar(2) = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 500, 55)
  34.                          ' ,  ,   <3% ,   <4%,   <5%,   <6%,   <7%,   <%8,  <9% , <10%,>=10%,¨C1%.
  35.         Else  'Àç·~³æ¦ì
  36.             '°}¦C:Àç·~³æ¦ì «D·F³¡ (¼úÃg¼úª÷ ªí)
  37.             Ar(2) = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 800, 75)
  38.                          '0, 0,   <3% ,   <4%,   <5%,   <6%,   <7%,   <%8,  <9% , <10%,>=10%,¨C1%.
  39.         End If
  40.         '***** Match¤£¨ì¾ºÙ®É, M = ¿ù»~­È -> «D·F³¡ **********
  41.     Else
  42.        '**************·F³¡ ************************************
  43.         If M = UBound(Ar(1)) + 1 Then °ÆÁ`¼úª÷ = 2000                               '°ÆÁ`¹F¨ì¼úª÷·|¦A¦h2000¤¸
  44.         ³d¥ôÃB = Ar(2)(M)
  45.         If ³æ¦ì Like "ºÞ²z*" Then
  46.             '°}¦C:ºÞ²z³æ¦ì ·F³¡ (¼úÃg¼úª÷ ªí)
  47.             Ar(2) = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 1000, 75)
  48.                          ' ,  ,   <3% ,   <4%,   <5%,   <6%,   <7%,   <%8,  <9% , <10%,>=10%,¨C1%.
  49.                                                                                    
  50.         Else
  51.             '°}¦C:Àç·~³æ¦ì ·F³¡ (¼úÃg¼úª÷ ªí)
  52.             Ar(2) = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 2000, 155)
  53.                          ' ,  ,   <3% ,   <4%,   <5%,   <6%,   <7%,   <%8,  <9% , <10%,>=10%,¨C1%.
  54.                                                                                    
  55.         End If
  56.         '**************·F³¡ ************************************
  57.     End If
  58.     ³æ¦ì.Offset(, 3) = ³d¥ôÃB
  59.     ¹F¦¨¦Ê¤À¤ñ = Round(¹F¦¨ÃB / ³d¥ôÃB * 100, 0)
  60.     ³æ¦ì.Offset(, 5) = ¹F¦¨¦Ê¤À¤ñ
  61.     ¼úª÷ = 0
  62.     If ¹F¦¨ÃB / ³d¥ôÃB * 10 < 3 Then
  63.         M = 2
  64.     ElseIf ¹F¦¨ÃB / ³d¥ôÃB * 10 > 10 Then
  65.         M = 10
  66.         ¼úª÷ = Ar(2)(UBound(Ar(2)))
  67.     Else
  68.         M = Int(¹F¦¨ÃB / ³d¥ôÃB * 10)
  69.     End If
  70.     'Ar(2)(M) = ¼úÃgªºª÷ÃB
  71.     ³æ¦ì.Offset(, 6) = Ar(2)(M) + ((¹F¦¨¦Ê¤À¤ñ - 100) * ¼úª÷) + °ÆÁ`¼úª÷
  72.     '¼úª÷­pºâ¤½¦¡: ¼úÃgªºª÷ÃB+  ((¹F¦¨100%¥H¤W-100)* ¼úª÷) + °ÆÁ`¼úª÷
  73. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 10# sillykin
¦p¹Ï¤¤: ¶K¦b¦P¤@¼Ò²Õ¸Ì³£¥i(¦]±ø¥ó¤w¼g¦º)


·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 13# sillykin
½Ð­×§ï¦p¤U
  1.   ³æ¦ì.Offset(, 3) = ³d¥ôÃB
  2.     ¹F¦¨¦Ê¤À¤ñ = Round(¹F¦¨ÃB / ³d¥ôÃB * 100, 0)
½Æ»s¥N½X
¼úª÷ªº­pºâ¤½¦¡¬°¦ó???
¤£¬O³o¼Ë¶Ü->= ¼úÃg¼úª÷ +  ((¹F¦¨²v100%¥H¤W-100)* ¼úª÷) + °ÆÁ`¼úª÷   
¹F¦¨²v¥¼¹F100%¥H¤W¬O¨S¼úª÷ªº(¹F¦¨²v100%¥H¤W-100)* ¼úª÷
¹F¦¨²v¦³¹F100%,¼úÃg¼úª÷¤~·|¬°¥¿­È
§Aªº¤½¦¡ (ROUND(F7-100,0)*155+2000) -> ¼úÃg¼úª÷(¤@«ß³£¦³) +2000
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 16# sillykin
µ{¦¡¤w­×§ï½Ð­«·s¤U¸ü8# µ{¦¡½X
¦³¿ù»~½Ð¬Ý¹Ï


   
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 21# sillykin
½Ð¤W¶ÇÀɮ׬ݬÝ
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 23# sillykin
  1. Option Explicit
  2. Sub Ex()
  3.     Dim I As Integer
  4.     With Sheets("¡®¡®³æ¦ì¦¨ÁZÁ`ªí¡®¡®").Range("A3")
  5.         Do While .Offset(I) <> ""
  6.             ¼úª÷µ{¦¡ .Offset(I), .Offset(I, 2), .Offset(I, 4)
  7.             I = I + 1
  8.         Loop
  9.     End With
  10. End Sub
  11. Private Sub ¼úª÷µ{¦¡(³æ¦ì As Range, ¾ºÙ As String, ¹F¦¨ÃB As Integer)
  12.     Dim Ar, ³d¥ôÃB As Integer, ¹F¦¨¦Ê¤À¤ñ As Single, ¼úª÷ As Integer, °ÆÁ`¼úª÷ As Integer
  13.     '  ****(±ø¥ó¤u§@ªí¤¤) ¨S¦³ªºÂ¾ºÙ ->  °ª¯Å±M­û, Åv²z¸g²z  ***
  14.     Dim ³¡ªù As String, ºÙ©I As String, M As Integer, A As Integer
  15.     ' *******LTrim¡BRTrim »P Trim ¨ç¼Æ  ¶Ç¦^¤@­Ó¨S¦³«eÀYªÅ¥Õ (LTrim)¡B«á­±ªÅ¥Õ (RTrim)***************************
  16.                                                        '©Î«e«á§¡µLªÅ¥ÕªºVariant (String)¡A¨ä¤¤©Ò§t¬°µ¹©wªº¦r¦ê¡C*
  17.     ºÙ©I = Trim(³æ¦ì.Offset(, 2))                                      '¶Ç¦^¾ºÙ«e«á§¡µLªÅ¥ÕªºVariant (String)  *
  18.     '************************************************************************************************************
  19.     ³æ¦ì.Offset(, 7) = Application.Match(ºÙ©I, Array(0, "°ÆÁ`¸g²z", "¨ó²z", "°ª¯Å±M­û", "¸g²z", _
  20.     "Åv²z¸g²z", "°Æ¸g²z", "°Æ²z", "¤@µ¥Á¸²z", "¤Gµ¥Á¸²z", "·~°È±M­û", "¿ì¨Æ­û", "§U²z­û", "¶±­û", "ªA°È¥Í"), 0)
  21.     '************************************************************************************************************
  22.     '************************************************************************************************************
  23.     ³¡ªù = Replace(³æ¦ì, "³æ¦ì", "")                                    '¥h±¼ "³æ¦ì" ¶Ç¦^ ¼Æ¦r©Î¤å¦r            *
  24.     If Mid(³¡ªù, 1, 1) Like "[0-9]" Then ³¡ªù = "Àç·~³¡ªù"              '¬°¼Æ¦r->Àç·~³¡ªù                       *
  25.     ³d¥ôÃB = IIf(³¡ªù = "Àç·~³¡ªù", 500, 300)                           '¹w³]¬°«D·F³¡ªº³d¥ôÃB                   *
  26.     °ÆÁ`¼úª÷ = 0                                                        '¹w³]¬°°ÆÁ`¼úª÷¬° 0                     *
  27.     '************************************************************************************************************
  28.     If ³¡ªù = "Àç·~³¡ªù" Then
  29.         Ar = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 800, 75)           '«D·F³¡(¼úÃg¼úª÷)
  30.         If ³æ¦ì.Offset(, 7) <= 10 Then
  31.             Ar = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 2000, 155) '·F³¡  (¼úÃg¼úª÷)
  32.             M = Application.Match(ºÙ©I, Array("°ª¯Å±M­û", "¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¨ó²z", "¸g²z", "°ÆÁ`¸g²z"), 0)
  33.             'M = > Match ªº¼Æ¦r
  34.             ³d¥ôÃB = Application.Index(Array(100, 1500, 2000, 2200, "(µù1)", "(µù1)", 2500), M)  '³d¥ôÃB °}¦C(°ª¯Å±M­û->100)
  35.             'Index ¶Ç¦^¤@­Óªí®æ©Î½d³ò¤ºªº¬Y­Ó­È©Î°Ñ·Ó¦ì§}¡C
  36.             °ÆÁ`¼úª÷ = IIf(ºÙ©I = "°ÆÁ`¸g²z", 2000, 0)
  37.         End If
  38.     Else
  39.         ³¡ªù = "ºÞ²z³¡ªù"
  40.         Ar = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 500, 55)  '«D·F³¡(¼úÃg¼úª÷)
  41.         If ³æ¦ì.Offset(, 7) <= 10 Then
  42.             Ar = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 1000, 75)    '·F³¡  (¼úÃg¼úª÷)
  43.             M = Application.Match(ºÙ©I, Array("°ª¯Å±M­û", "¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¸g²z"), 0) '***ºÞ²z³æ¦ì :¨S¦³ªºÂ¾ºÙ ,°ÆÁ`¸g²z
  44.             ³d¥ôÃB = Application.Index(Array(100, 600, 700, 800, 900, 2500), M)                         '³d¥ôÃB °}¦C(°ª¯Å±M­û->100)
  45.            'ºÞ²z³¡ªù¨S¦³°ÆÁ`¸g²z -> ' °ÆÁ`¼úª÷ = IIf(ºÙ©I = "°ÆÁ`¸g²z", 2000, 0)
  46.         End If
  47.     End If
  48.     ³æ¦ì.Offset(, 3) = ³d¥ôÃB
  49.     '*************************************** FÄæ (¹F¦¨¤ñ²v¢H)¥Î¤½¦¡¦³¨â¦¡¥i¥Î*******************************
  50.     ³æ¦ì.Offset(, 5) = "=Round(RC[-1] / RC[-2] * 100, 0)"              'R1C1ªí¥Üªk
  51.    '³æ¦ì.Offset(, 5) = "=Round(" & ³æ¦ì.Offset(, 4).Address & " / " & ³æ¦ì.Offset(, 3).Address & "* 100, 0)"
  52.     '*******************************************************************************************************
  53.     ¹F¦¨¦Ê¤À¤ñ = Round(¹F¦¨ÃB / ³d¥ôÃB * 100, 0)
  54.     '³æ¦ì.Offset(, 5) = ¹F¦¨¦Ê¤À¤ñ
  55.     ¼úª÷ = 0
  56.     If ¹F¦¨ÃB / ³d¥ôÃB * 10 < 3 Then
  57.         M = 2
  58.     ElseIf ¹F¦¨ÃB / ³d¥ôÃB * 10 > 10 Then
  59.         M = 10
  60.         ¼úª÷ = Ar(UBound(Ar))
  61.     Else
  62.         M = Int(¹F¦¨ÃB / ³d¥ôÃB * 10)
  63.     End If
  64.     ³æ¦ì.Offset(, 6) = Ar(M) + ((¹F¦¨¦Ê¤À¤ñ - 100) * ¼úª÷) + °ÆÁ`¼úª÷   'Ar(M) = ¼úÃgªºª÷ÃB
  65.     '¼úª÷­pºâ¤½¦¡: = ¼úÃgªºª÷ÃB+  ((¹F¦¨100%¥H¤W-100)* ¼úª÷) + °ÆÁ`¼úª÷
  66. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 24# sillykin
  1. Option Explicit
  2. Const ºÞ²z³¡ªù = "¼f¬d³¡¡Bªk°È³¡¡B·|­p³¡¡BÁ`°È³¡¡B¦æ¬F³¡¡B«H¥Î³¡¡B¥ø¹º³¡¡B±Ð¨|³¡¡B¤H¨Æ³¡"
  3. Const ¾°È§O = "0,°ÆÁ`¸g²z,¨ó²z,°ª¯Å±M­û,¸g²z,Åv²z¸g²z,°Æ¸g²z,°Æ²z,¤@µ¥Á¸²z,¤Gµ¥Á¸²z,·~°È±M­û,¿ì¨Æ­û,§U²z­û,¶±­û,ªA°È¥Í"
  4. Sub Ex()
  5.     Dim I As Integer
  6.     With Sheets("¡®¡®³æ¦ì¦¨ÁZÁ`ªí¡®¡®").Range("A3")
  7.         Do While .Offset(I) <> ""
  8.             ¼úª÷µ{¦¡ .Offset(I), .Offset(I, 2), .Offset(I, 4)
  9.             I = I + 1
  10.         Loop
  11.     End With
  12. End Sub
  13. Private Sub ¼úª÷µ{¦¡(³æ¦ì As Range, ¾ºÙ As String, ¹F¦¨ÃB As Integer)
  14.     '  ****(±ø¥ó¤u§@ªí¤¤) ¨S¦³ªºÂ¾ºÙ ->  °ª¯Å±M­û, Åv²z¸g²z  ***
  15.     Dim Ar, ³d¥ôÃB As Integer, ¹F¦¨¦Ê¤À¤ñ As Single, ¼úª÷ As Integer, °ÆÁ`¼úª÷ As Integer
  16.     Dim ³¡ªù As String, ¾ºÙ¥N¸¹ As String, M As Integer '
  17.     'LTrim¡BRTrim »P Trim ¨ç¼Æ  ¶Ç¦^¤@­Ó¨S¦³«eÀYªÅ¥Õ (LTrim)¡B«á­±ªÅ¥Õ (RTrim)©Î«e«á§¡µLªÅ¥ÕªºVariant (String)¡A¨ä¤¤©Ò§t¬°µ¹©wªº¦r¦ê¡C*
  18.     ¾ºÙ¥N¸¹ = Trim(³æ¦ì.Offset(, 2))                                                   '¶Ç¦^¾ºÙ¥N¸¹«e«á§¡µLªÅ¥ÕªºVariant (String)
  19.     'Split ¨ç¼Æ ¶Ç¦^¤@­Ó³¯¦C¯Á¤Þ±q¹s¶}©lªº¤@ºû°}¦C¡A¥¦¥]§t«ü©w¼Æ¥Øªº¤l¦r¦ê¡C
  20.     ³æ¦ì.Offset(, 7) = Application.Match(¾ºÙ¥N¸¹, Split(¾°È§O, ","), 0)               'Match ¾ºÙ¥N¸¹¦b¾°È§O¥HSplit¤À³Î¥Xªº°}¦C¤¤ªº¦ì¸m
  21.     'InStr ¨ç¼Æ ¶Ç¦^¦b¬Y¦r¦ê¤¤¤@¦r¦êªº³Ì¥ý¥X²{¦ì¸m¡A¦¹¦ì¸m¬° Variant (Long)¡C
  22.     ³¡ªù = IIf(InStr(ºÞ²z³¡ªù, ³æ¦ì), "ºÞ²z³¡ªù", "Àç·~³¡ªù")               'InStr¶Ç¦^0->¨S§ä¨ì="Àç·~³¡ªù"
  23.     °ÆÁ`¼úª÷ = 0                                                        '¹w³]¬°°ÆÁ`¼úª÷¬° 0
  24.     ³d¥ôÃB = IIf(³¡ªù = "ºÞ²z³¡ªù", 300, 500)
  25.     If ³¡ªù = "Àç·~³¡ªù" Then
  26.         Ar = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 800, 75)           '«D·F³¡(¼úÃg¼úª÷)
  27.         If ³æ¦ì.Offset(, 7) <= 10 Then
  28.             Ar = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 2000, 155) '·F³¡  (¼úÃg¼úª÷)
  29.             M = Application.Match(¾ºÙ¥N¸¹, Array("°ª¯Å±M­û", "¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¨ó²z", "¸g²z", "°ÆÁ`¸g²z"), 0)
  30.             'M = > Match ªº¼Æ¦r
  31.             ³d¥ôÃB = Application.Index(Array(500, 1500, 2000, 2200, "(µù1)", "(µù1)", 2500), M)  '³d¥ôÃB °}¦C(°ª¯Å±M­û->100)
  32.             'Index ¶Ç¦^¤@­Óªí®æ©Î½d³ò¤ºªº¬Y­Ó­È©Î°Ñ·Ó¦ì§}¡C
  33.             °ÆÁ`¼úª÷ = IIf(¾ºÙ¥N¸¹ = "°ÆÁ`¸g²z", 2000, 0)
  34.         End If
  35.     Else       ' ³¡ªù => "ºÞ²z³¡ªù"
  36.         Ar = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 500, 55)  '«D·F³¡(¼úÃg¼úª÷)
  37.         If ³æ¦ì.Offset(, 7) <= 10 Then
  38.             Ar = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 1000, 75)    '·F³¡  (¼úÃg¼úª÷)
  39.             M = Application.Match(¾ºÙ¥N¸¹, Array("°ª¯Å±M­û", "¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¸g²z"), 0)
  40.             '***¨S¦³ªºÂ¾ºÙ,[°ÆÁ`¸g²z],ºÞ²z³æ¦ì¦p¦³°ÆÁ`¸g²z(µ{¦¡°õ¦æ·|²£¥Í¿ù»~)*****************************
  41.             ³d¥ôÃB = Application.Index(Array(100, 600, 700, 800, 900, 2500), M)                         '³d¥ôÃB °}¦C(°ª¯Å±M­û->100)
  42.            'ºÞ²z³¡ªù¨S¦³°ÆÁ`¸g²z -> ' °ÆÁ`¼úª÷ = IIf(¾ºÙ¥N¸¹  = "°ÆÁ`¸g²z", 2000, 0)
  43.         End If
  44.     End If
  45.     ³æ¦ì.Offset(, 3) = ³d¥ôÃB
  46.     '*************************************** FÄæ (¹F¦¨¤ñ²v¢H)¥Î¤½¦¡¦³¨â¦¡¥i¥Î*******************************
  47.     ³æ¦ì.Offset(, 5) = "=Round(RC[-1] / RC[-2] * 100, 0)"              'R1C1ªí¥Üªk
  48.    '³æ¦ì.Offset(, 5) = "=Round(" & ³æ¦ì.Offset(, 4).Address & " / " & ³æ¦ì.Offset(, 3).Address & "* 100, 0)"
  49.     '*******************************************************************************************************
  50.     ¹F¦¨¦Ê¤À¤ñ = Round(¹F¦¨ÃB / ³d¥ôÃB * 100, 0)
  51.     '³æ¦ì.Offset(, 5) = ¹F¦¨¦Ê¤À¤ñ
  52.     ¼úª÷ = 0
  53.     If ¹F¦¨ÃB / ³d¥ôÃB * 10 < 3 Then
  54.         M = 2
  55.     ElseIf ¹F¦¨ÃB / ³d¥ôÃB * 10 > 10 Then
  56.         M = 10
  57.         ¼úª÷ = Ar(UBound(Ar))
  58.     Else
  59.         M = Int(¹F¦¨ÃB / ³d¥ôÃB * 10)
  60.     End If
  61.     ³æ¦ì.Offset(, 6) = Ar(M) + ((¹F¦¨¦Ê¤À¤ñ - 100) * ¼úª÷) + °ÆÁ`¼úª÷   'Ar(M) = ¼úÃgªºª÷ÃB
  62.     '¼úª÷­pºâ¤½¦¡: = ¼úÃgªºª÷ÃB+  ((¹F¦¨100%¥H¤W-100)* ¼úª÷) + °ÆÁ`¼úª÷
  63. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 27# sillykin
¤£¦b ºÞ²z³¡ªùªºÂ¾ºÙ·|¬O¦b"Àç·~³¡ªù"ªº
   
  1. Const ºÞ²z³¡ªù = "¼f¬d³¡¡Bªk°È³¡¡B·|­p³¡¡BÁ`°È³¡¡B¦æ¬F³¡¡B«H¥Î³¡¡B¥ø¹º³¡¡B±Ð¨|³¡¡B¤H¨Æ³¡"
  2. ³¡ªù = IIf(InStr(ºÞ²z³¡ªù, ³æ¦ì), "ºÞ²z³¡ªù", "Àç·~³¡ªù")               'InStr¶Ç¦^  0->¨S§ä¨ì="Àç·~³¡ªù"
½Æ»s¥N½X

¬°¦ó·|¨S¦³vba·|§ä¤£¨ì"Àç·~³¡ªù"  ½Ð¤W¶ÇÀÉ®× µ{¦¡½X¬Ý¬Ý
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-7-23 10:53 ½s¿è

¦^´_ 31# sillykin
¨S¦³ÀÉ®×µLªk°»¿ù

30# ¸Õ¸Õ¬Ý


Tset.rar (20.03 KB)
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 33# sillykin





   
  1. Option Explicit
  2. Sub Ex()
  3.     Dim I As Integer
  4.     With Sheets("³æ¦ì¦¨ÁZÁ`ªí")     '*** ½Ð ­×§ï¤@¤U ¤u§@ªíªº¦WºÙ  ***
  5.         If Application.CountA(.[A:A]) <> .Cells(.Rows.Count, "A").End(xlUp).Row Then
  6.             MsgBox "³æ¦ì§Oøó ¸ê®Æ¤£¥þ"
  7.             End
  8.         End If
  9.         Do While .Range("A3").Offset(I) <> ""
  10.             ¼úª÷µ{¦¡ .Range("A3").Offset(I)
  11.            I = I + 1
  12.         Loop
  13.     End With
  14. End Sub
  15. Private Sub ¼úª÷µ{¦¡(³æ¦ì As Range)
  16.     Dim ³¡ªù As String, ¾ºÙ¥N¸¹ As Variant, ¾ºÙ As String, «D·F³¡ As Integer, Col As String, M
  17.     Dim ³d¥ôÃB As Integer, ¹F¦¨ÃB As Long, ¼úª÷ As Integer, °ÆÁ`¼úª÷ As Integer
  18.    
  19.     With Sheets("±ø¥ó") '¤u§@ªí
  20.         ³¡ªù = IIf(IsError(Application.Match(³æ¦ì, .Range("E2", .Range("E2").End(xlDown)), 0)), "Àç·~³æ¦ì", "ºÞ²z³æ¦ì")
  21.         Â¾ºÙ = ³æ¦ì.Offset(, 2)
  22.         Â¾ºÙ¥N¸¹ = Application.Match(¾ºÙ, .Range("A:A"), 0)                    '´M§ä¾ºÙªº¦C¦ì
  23.         If IsError(¾ºÙ¥N¸¹) Then
  24.             MsgBox IIf(¾ºÙ = "", "¾ºÙ ¨S¦³¿é¤J!! ", "¾ºÙ : " & ¾ºÙ & " §ä¤£¨ì!!!"), , ³¡ªù
  25.             End
  26.         End If
  27.         «D·F³¡ = .Range("B" & Application.Match("«D·F³¡", .Range("C:C"), 0))
  28.         'Cøó´M§ä²Ä1 ­Ó"«D·F³¡"ªº¦C¦ì ±a¤JBÄæ¤¤ ±o¨ì"«D·F³¡"ªº¥N¸¹
  29.         
  30.         'EÄæ ºÞ²z³æ¦ì½d³ò¸Ì ´M§ä³¡ªùªº¦C¦ì : ¨S§ä¨ì¬° "Àç·~³æ¦ì" ,§ä¨ì¬°"ºÞ²z³æ¦ì"
  31.         If ¾ºÙ¥N¸¹ >= «D·F³¡ Then
  32.             ³d¥ôÃB = IIf(³¡ªù = "Àç·~³æ¦ì", .Range("H2"), .Range("J2"))   '¥i¦b H2,J2 ­×§ï«D·F³¡ªº³d¥ôÃB
  33.             Col = IIf(³¡ªù = "Àç·~³æ¦ì", "Q", "S")                        '«D·F³¡¼úÃg¼Ð·ÇªíÎÝ : ¦b"Qøó" ©Î "Søó"
  34.         Else
  35.            Col = IIf(³¡ªù = "Àç·~³æ¦ì", "G:G", "I:I")                     '·F³¡³d¥ôÃBªíÎÝ : ¦b"G:Gøó" ©Î "I:Iøó"
  36.            M = Application.Match(¾ºÙ, .Range(Col), 0)                    '´M§ä·F³¡³d¥ôÃBªºÂ¾ºÙ¦ì¸m
  37.            If IsError(M) Then
  38.                 MsgBox ³¡ªù & " ¤¤¨S¦³  " & ¾ºÙ, , ³¡ªù
  39.                 End
  40.             End If
  41.            ³d¥ôÃB = .Range(Col).Cells(M).Offset(, 1)                      '·F³¡ªº³d¥ôÃB
  42.            Col = IIf(³¡ªù = "Àç·~³æ¦ì", "P", "R")                         '«D·F³¡¼úÃg¼Ð·ÇªíÎÝ : ¦b"Pøó" ©Î "Røó"
  43.         End If
  44.         ³æ¦ì.Offset(, 3) = ³d¥ôÃB
  45.         ¹F¦¨ÃB = ³æ¦ì.Offset(, 4)
  46.         ¹F¦¨¦Ê¤À¤ñ = Round(¹F¦¨ÃB / ³d¥ôÃB * 100, 0)
  47.         ³æ¦ì.Offset(, 5) = ¹F¦¨¦Ê¤À¤ñ
  48.         ³æ¦ì.Offset(, 7) = ¾ºÙ¥N¸¹
  49.         If ¹F¦¨ÃB / ³d¥ôÃB * 10 < 3 Then
  50.             M = 3
  51.         ElseIf ¹F¦¨ÃB / ³d¥ôÃB * 10 > 10 Then
  52.             M = 11
  53.             ¼úª÷ = .Range(Col & 12)
  54.             °ÆÁ`¼úª÷ = IIf(¾ºÙ = "°ÆÁ`¸g²z", 2000, 0)                  '°ÆÁ`¹F¨ì¼úª÷·|¦b¦h2000¤¸
  55.         Else
  56.             M = Int(¹F¦¨ÃB / ³d¥ôÃB * 10) + 1
  57.         End If
  58.         '¼úÃgªºª÷ÃB = .Range(Col & M)
  59.         '¼úª÷­pºâ¤½¦¡: ¼úÃgªºª÷ÃB+  ((¹F¦¨100%¥H¤W-100)* ¼úª÷) + °ÆÁ`¼úª÷
  60.         '¤U¦¡¬°¦b¼úª÷øó¤W¿é¤J¤½¦¡
  61.         ³æ¦ì.Offset(, 6) = "=" & .Range(Col & M) & " + ((" & ¹F¦¨¦Ê¤À¤ñ & " - 100) *" & ¼úª÷ & ") +" & °ÆÁ`¼úª÷
  62.         '****************************************************************************************
  63.         '³æ¦ì.Offset(, 6) = .Range(Col & M) + ((¹F¦¨¦Ê¤À¤ñ - 100) * ¼úª÷) + °ÆÁ`¼úª÷  'ª½±µµ¹¼Æ­È
  64.     End With
  65. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ­ì½Ì§O¤H´N¬Oµ½«Ý¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD