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

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

¦p¦ó­pºâ

A1¬°³æ¦ì  A2¬°Â¾ºÙ   A3¬°¥Ø¼ÐÃB  A4¬°¹F¦¨ÃB A5¬°¤ñ²v­pºâ¤½¦¡¬°((A4/A3)-100)*75
:
:
:
A300

µ§¼Æ¬ù¬°300µ§(¦p¦ó¥N¤J¤½¦¡VBA)

¦p¦ó¥ÎVBA¼g¦¨©O???

TOP

¦^´_ 3# sillykin
§A§âÀÉ®×t¶Ç¨ì­þ¸Ì¥h¤F¡H
­nÂI¿ïªþ¥ó(°j¯¾°w)¤~¦æ¡I
Excel ªºÀÉ®×­n¥ýÀ£ÁY¦¨ Winrar ªº .rar¡B©Î Winzip ªº  .zip¡C

TOP

¦^´_ 5# sillykin


    Àɮפx¤W¶Ç...½Ð¤j¤jÀ°¦£

3333.rar (7.88 KB)

TOP

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

奬ª÷­n¦p¦ó¥Îvba­pºâ©O??
¦bÀɮ׸̦³¬ÛÃöªº±ø¥ó..½Ð°Ñ¾\

3333.rar (7.88 KB)

1

µû¤À¤H¼Æ

    • GBKEE: ­«½Æµo©«ª÷¿ú -2

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

¤j¤j¦b½Ð±Ð...
¦p¦ó¦b逹¦¨¤ñ²v¡]¢H¡^ºâ¥X¨Ó¬°¥|±Ë¤­¤J¬°¾ã¼Æ
¨Ò¦p¡G320.55555   
µª®×¡G321

TOP

¦^´_ 12# sillykin


    ´ú¸Õµ²ªG..奬ª÷³£¤£¤Ó¹ï

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

¦^´_ 14# GBKEE


    ÁÂÁ¤j¤jªº¨ó§U..À˪þÀÉ®×´ú¸Õªºµ²ªG..µo¥ÍJ3:J17¸ò奬ª÷¤£¦X...¯à§_À°¸Ñ¨M..ÁÂÁÂ

444.rar (13.45 KB)

TOP

        ÀR«ä¦Û¦b : ¹ï¤÷¥À­nª¾®¦¡A·P®¦¡B³ø®¦¡C
ªð¦^¦Cªí ¤W¤@¥DÃD