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

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

¦^´_ 25# GBKEE

¤j¤j¤£¦n·N«ä..¦b¥´ÂZ¤@¤U

    Àç·~³æ¦ìÀ³¬°
¸U¨½¤À³¡¡B ª÷¤s¤À³¡¡B¥Ûªù¤À³¡¡B¤T¤§¤À³¡¡B¸q¤s¤À³¡¡B¤ô¸P¤À³¡¡BÀç·~³¡¡B­^±M¤À³¡¡B¦Ë³ò¤À³¡¡BÀs§Î¤À³¡¡B¤K¨½¤À³¡¡BªO¾ô¤À ³¡¡B®ç¶é¤À³¡¡B¥N²z³¡¡B¥X¯Ç³¡¡B·~°È³¡¡B²z°]³¡ºÞ²z¤À³¡À³¬°
¼f¬d³¡¡Bªk°È³¡¡B·|­p³¡¡BÁ`°È³¡¡B¦æ¬F³¡¡B«H¥Î³¡¡B¥ø¹º³¡¡B±Ð¨|³¡¡B¤H¨Æ³¡

ºÞ²z³¡¦³¦bvba
¦ýÀç·~³æ¦ì¨S¦³¶i¨ìvba????

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

¥»©«³Ì«á¥Ñ sillykin ©ó 2013-7-22 22:20 ½s¿è

¨Ì¦^ÂÐ22ÀÉ®×
¦pªG±ø¥óÄæ¦ì¤£°Ê..
¦ýÀH®É¥i¥h±ø¥óÄæ¦ì§ó°Ê
³d¥ôÃB¡B¹F¦¨ÃB­pºâ¼Ð·Ç¡B·F³¡¡B«D·F³¡¼úÃg¼Ð·Çªí
¬O§_¥i¦æ©O???
¦]¬°ª½±µ¥hVBA¥h§ó°Ê¦³ÂI«_ÀI¡Aª½±µ¦b±ø¥óÀx¦s®æ¥h§ó°Ê¼Æ¦r¡A¤ñ¸û¤£·|¥Ç¿ù¡D


ªO¥D¤£¦n·N«ä¡D¡D´X¤é¨Ó»s³y§A«Ü¦h°ÝÃD¡D¨­·P©êºp

TOP

¦^´_ 30# sillykin


    Option Explicit
Const ºÞ²z³¡ªù = "¼f¬d«Ç¡Bªk°È«Ç¡B·|­p«Ç¡BÁ`°È«Ç¡B¦æ¬FºÞ²z«Ç¡B¼x«H«Ç¡B¥ø¹º«Ç¡B±Ð¨|µo®i«Ç¡B¸ê°T«Ç"
Const ¾°È§O = "0,°ÆÁ`¸g²z,¨ó²z,°ª¯Å±M­û,¸g²z,Åv²z¸g²z,°Æ¸g²z,°Æ²z,¤@µ¥Á¸²z,¤Gµ¥Á¸²z,·~°È±M­û,¿ì¨Æ­û,§U²z­û,¶±­û,ªA°È¥Í"
Sub Ex()
    Dim I As Integer
    With Sheets("¡®¡®³æ¦ì¦¨ÁZÁ`ªí¡®¡®").Range("A3")
        Do While .Offset(I) <> ""
            ¼úª÷µ{¦¡ .Offset(I), .Offset(I, 2), .Offset(I, 4)
            I = I + 1
        Loop
    End With
End Sub

Private Sub ¼úª÷µ{¦¡(³æ¦ì As Range, ¾ºÙ As String, ¹F¦¨ÃB As Integer)
    '  ****(±ø¥ó¤u§@ªí¤¤) ¨S¦³ªºÂ¾ºÙ ->  °ª¯Å±M­û, Åv²z¸g²z  ***
    Dim Ar, ³d¥ôÃB As Integer, ¹F¦¨¦Ê¤À¤ñ As Single, ¼úª÷ As Integer, °ÆÁ`¼úª÷ As Integer
    Dim ³¡ªù As String, ¾ºÙ¥N¸¹ As String, M As Integer '
    'LTrim¡BRTrim »P Trim ¨ç¼Æ  ¶Ç¦^¤@­Ó¨S¦³«eÀYªÅ¥Õ (LTrim)¡B«á­±ªÅ¥Õ (RTrim)©Î«e«á§¡µLªÅ¥ÕªºVariant (String)¡A¨ä¤¤©Ò§t¬°µ¹©wªº¦r¦ê¡C*
    ¾ºÙ¥N¸¹ = Trim(³æ¦ì.Offset(, 2))                                                   '¶Ç¦^¾ºÙ¥N¸¹«e«á§¡µLªÅ¥ÕªºVariant (String)
    'Split ¨ç¼Æ ¶Ç¦^¤@­Ó³¯¦C¯Á¤Þ±q¹s¶}©lªº¤@ºû°}¦C¡A¥¦¥]§t«ü©w¼Æ¥Øªº¤l¦r¦ê¡C
    ³æ¦ì.Offset(, 7) = Application.Match(¾ºÙ¥N¸¹, Split(¾°È§O, ","), 0)               'Match ¾ºÙ¥N¸¹¦b¾°È§O¥HSplit¤À³Î¥Xªº°}¦C¤¤ªº¦ì¸m
    'InStr ¨ç¼Æ ¶Ç¦^¦b¬Y¦r¦ê¤¤¤@¦r¦êªº³Ì¥ý¥X²{¦ì¸m¡A¦¹¦ì¸m¬° Variant (Long)¡C
    ³¡ªù = IIf(InStr(ºÞ²z³¡ªù, ³æ¦ì), "ºÞ²z³¡ªù", "Àç·~³¡ªù")               'InStr¶Ç¦^0->¨S§ä¨ì="Àç·~³¡ªù"
    °ÆÁ`¼úª÷ = 0                                                        '¹w³]¬°°ÆÁ`¼úª÷¬° 0
    ³d¥ôÃB = IIf(³¡ªù = "ºÞ²z³¡ªù", 300, 500)
    If ³¡ªù = "Àç·~³¡ªù" Then
        Ar = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 800, 75)           '«D·F³¡(¼úÃg¼úª÷)
        If ³æ¦ì.Offset(, 7) <= 10 Then
            Ar = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 2000, 155) '·F³¡  (¼úÃg¼úª÷)
            M = Application.Match(¾ºÙ¥N¸¹, Array("°ª¯Å±M­û", "¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¨ó²z", "¸g²z", "°ÆÁ`¸g²z"), 0)
            'M = > Match ªº¼Æ¦r
            ³d¥ôÃB = Application.Index(Array(500, 1500, 2000, 2200, "(µù1)", "(µù1)", 2500), M)  '³d¥ôÃB °}¦C(°ª¯Å±M­û->100)
            'Index ¶Ç¦^¤@­Óªí®æ©Î½d³ò¤ºªº¬Y­Ó­È©Î°Ñ·Ó¦ì§}¡C
            °ÆÁ`¼úª÷ = IIf(¾ºÙ¥N¸¹ = "°ÆÁ`¸g²z", 2000, 0)
        End If
    Else       ' ³¡ªù => "ºÞ²z³¡ªù"
        Ar = Array(0, 0, -10000, -7000, -5000, -4000, -3000, -2000, -1000, -500, 500, 55)  '«D·F³¡(¼úÃg¼úª÷)
        If ³æ¦ì.Offset(, 7) <= 10 Then
            Ar = Array(0, 0, -25000, -20000, -16000, -12000, -8000, -6000, -4000, -2000, 1000, 75)    '·F³¡  (¼úÃg¼úª÷)
            M = Application.Match(¾ºÙ¥N¸¹, Array("°ª¯Å±M­û", "¤Gµ¥Á¸²z", "¤@µ¥Á¸²z", "°Æ¸g²z", "¸g²z"), 0)
            '***¨S¦³ªºÂ¾ºÙ,[°ÆÁ`¸g²z],ºÞ²z³æ¦ì¦p¦³°ÆÁ`¸g²z(µ{¦¡°õ¦æ·|²£¥Í¿ù»~)*****************************
            ³d¥ôÃB = Application.Index(Array(100, 600, 700, 800, 900, 2500), M)                         '³d¥ôÃB °}¦C(°ª¯Å±M­û->100)
           'ºÞ²z³¡ªù¨S¦³°ÆÁ`¸g²z -> ' °ÆÁ`¼úª÷ = IIf(¾ºÙ¥N¸¹  = "°ÆÁ`¸g²z", 2000, 0)
        End If
    End If
    ³æ¦ì.Offset(, 3) = ³d¥ôÃB
    '*************************************** FÄæ (¹F¦¨¤ñ²v¢H)¥Î¤½¦¡¦³¨â¦¡¥i¥Î*******************************
    ³æ¦ì.Offset(, 5) = "=Round(RC[-1] / RC[-2] * 100, 0)"              'R1C1ªí¥Üªk
   '³æ¦ì.Offset(, 5) = "=Round(" & ³æ¦ì.Offset(, 4).Address & " / " & ³æ¦ì.Offset(, 3).Address & "* 100, 0)"
    '*******************************************************************************************************
    ¹F¦¨¦Ê¤À¤ñ = Round(¹F¦¨ÃB / ³d¥ôÃB * 100, 0)
    '³æ¦ì.Offset(, 5) = ¹F¦¨¦Ê¤À¤ñ
    ¼úª÷ = 0
    If ¹F¦¨ÃB / ³d¥ôÃB * 10 < 3 Then
        M = 2
    ElseIf ¹F¦¨ÃB / ³d¥ôÃB * 10 > 10 Then
        M = 10
        ¼úª÷ = Ar(UBound(Ar))
    Else
        M = Int(¹F¦¨ÃB / ³d¥ôÃB * 10)
    End If
    ³æ¦ì.Offset(, 6) = Ar(M) + ((¹F¦¨¦Ê¤À¤ñ - 100) * ¼úª÷) + °ÆÁ`¼úª÷   'Ar(M) = ¼úÃgªºª÷ÃB
    '¼úª÷­pºâ¤½¦¡: = ¼úÃgªºª÷ÃB+  ((¹F¦¨100%¥H¤W-100)* ¼úª÷) + °ÆÁ`¼úª÷
End Sub
°õ¦æ¥X¨Ó·|µo¥Í¿ù»~

¿ù.JPG (12.25 KB)

¿ù.JPG

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

¦^´_ 35# sillykin


   ¦p¦^ÂÐ31©ÒÀ˪þÀÉ®×
¤j¤j¤£¦n·N«ä...·Q¦b½Ð°Ý...¤T­Ó°ÝÃD
²Ä¤@°ÝÃD
Àç·~³¡¤W­­³Ì¦h奬ª÷150,000¤¸
ºÞ²z³¡¤W­­³Ì¦h奬ª÷120,000¤¸
²Ä¤G°ÝÃD
°²³]
¸ê°T«Ç¬O¤@­Ó¿W¥ß³æ¦ì..¥B奬ª÷¬O¥t¥~¨î©w
¨Ò¦p
³d¥ôÃB100
奬ª÷­pºâ¤è¦¡
¹F¦¨ÃB130
¹F¦¨¤ñ²v130%
¹F¦¨100%¥[µo250¤¸
­pºâ¤è¦¡¬°(¹F¦¨ÃB/³d¥ôÃB)*100 = 逹¦¨¤ñ²v¡]¢H¡^   ==>奬ª÷­pºâ¬°((逹¦¨¤ñ²v¡]¢H¡^ - 100)*¹F¦¨100¨C¤@ÂI¥[µo5¤¸)+¹F¦¨100%¥[µo250¤¸

­pºâ¤è¦¡¬°(130/100)*100 = 130   ==>奬ª÷­pºâ¬°((130 - 100)*5)+250 = 400¤¸
¬O§_¯à¦b±ø¥ósheet¤¤¥[³]Äæ¦ì­È¡F¤è«K§ó¥¿
Àç·~³¡¤W­­³Ì¦h奬ª÷
ºÞ²z³¡¤W­­³Ì¦h奬ª÷
¤Î¸ê°T©w±±¨î¶µ¥Ø
½Ð¤j¤j«ü±Ð

TOP

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

¦^´_ 36# sillykin
¸ê°T«Ç¬O¤@­Ó¿W¥ß³æ¦ì
1¦³µL·F³¡,«D·F³¡¤§¤À.
2¦³µL¥¼¹F100%ªº¼úÃg.
3¦³µL¤W­­奬ª÷
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ sillykin ©ó 2013-7-29 21:08 ½s¿è

¦^´_ 37# GBKEE


    ±ø¥ó¦p¹Ï

¨Ò¦p
³d¥ôÃB100
奬ª÷­pºâ¤è¦¡
¹F¦¨ÃB130
¹F¦¨¤ñ²v130%
¹F¦¨100%¥[µo250¤¸
­pºâ¤è¦¡¬°(¹F¦¨ÃB/³d¥ôÃB)*100 = 逹¦¨¤ñ²v¡]¢H¡^   ==>奬ª÷­pºâ¬°((逹¦¨¤ñ²v¡]¢H¡^ - 100)*¹F¦¨100¨C¤@ÂI¥[µo5¤¸)+¹F¦¨100%¥[µo250¤¸

«D·F³¡­pºâ¤è¦¡¬°(130/100)*100 = 130   ==>奬ª÷­pºâ¬°((130 - 100)*5)+250 = 400¤¸
  ·F³¡­pºâ¤è¦¡¬°(400/200)*100 = 200   ==>奬ª÷­pºâ¬°((200 - 100)*5)+500= 1,000¤¸
¬O§_¯à¦b±ø¥ósheet¤¤¥[³]Äæ¦ì­È¡F¤è«K§ó¥¿
Àç·~³¡¤W­­³Ì¦h奬ª÷150,000¤¸
ºÞ²z³¡¤W­­³Ì¦h奬ª÷120,000¤¸
¸ê°T³¡¤W­­³Ì¦h奬ª÷100,000¤¸
¤Î¸ê°T©w±±¨î¶µ¥Ø
½Ð¤j¤j«ü±Ð

¸ê.JPG (55.39 KB)

¸ê.JPG

TOP

¦^´_ 38# sillykin


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

TOP

        ÀR«ä¦Û¦b : ·O´d¨S¦³¼Ä¤H¡A´¼¼z¤£°_·Ð´o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD