返回列表 上一主題 發帖

奬金要如何用vba計算呢

回復 12# sillykin


    測試結果..奬金都不太對

TOP

大大在請教...
如何在逹成比率(%)算出來為四捨五入為整數
例如:320.55555   
答案:321

TOP

回復 10# sillykin
如圖中: 貼在同一模組裡都可(因條件已寫死)


感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-7-21 05:30 編輯

回復 1# sillykin
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim I As Integer
  4.     With Sheets("&&單位成績總表&&").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, 達成額 As Integer)
  12.     Dim Ar(1 To 2), M, 責任額 As Integer, 達成百分比 As Single, 獎金 As Integer, 副總獎金 As Integer
  13.     '  ****(條件工作表中) 沒有的職稱 ->  高級專員, 權理經理  ***
  14.     If 單位 Like "管理*" Then
  15.         '管理單位:  二等襄理, 一等襄理, 副經理,  經理
  16.         '責任額  :     600 ,     700 ,  800  ,   900
  17.         Ar(1) = Array("二等襄理", "一等襄理", "副經理", "經理")    '***管理單位 :沒有的職稱 ,副總經理
  18.         
  19.         Ar(2) = Array(300, 600, 700, 800, 900, 2500)                                '陣列(責任額) :
  20.     Else
  21.         '營業單位:  二等襄理, 一等襄理, 副經理, ( 協理、經理)  副總經理
  22.         '責任額  :     1500 ,     2000,   2200,     (註1)    ,  2,500
  23.         Ar(1) = Array("二等襄理", "一等襄理", "副經理", "協理", "經理", "副總經理")
  24.         Ar(2) = Array(500, 1500, 2000, 2200, "(註1)", "(註1)", 2500)                '陣列(責任額) :
  25.     End If
  26.     M = Application.Match(職稱, Ar(1), 0)                                           'M > 0 為幹部
  27.     副總獎金 = 0
  28.     If IsError(M) Then
  29.         '***** Match不到職稱時, M = 錯誤值 -> 非幹部**********
  30.          責任額 = Ar(2)(0)                                                          '非幹部 責任額: 300 或 500
  31.         If 單位 Like "管理*" Then   '管理單位
  32.             '陣列:管理單位 非幹部 (獎懲獎金 表)
  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%,每1%.
  35.         Else  '營業單位
  36.             '陣列:營業單位 非幹部 (獎懲獎金 表)
  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%,每1%.
  39.         End If
  40.         '***** Match不到職稱時, M = 錯誤值 -> 非幹部 **********
  41.     Else
  42.        '**************幹部 ************************************
  43.         If M = UBound(Ar(1)) + 1 Then 副總獎金 = 2000                               '副總達到獎金會再多2000元
  44.         責任額 = Ar(2)(M)
  45.         If 單位 Like "管理*" Then
  46.             '陣列:管理單位 幹部 (獎懲獎金 表)
  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%,每1%.
  49.                                                                                    
  50.         Else
  51.             '陣列:營業單位 幹部 (獎懲獎金 表)
  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%,每1%.
  54.                                                                                    
  55.         End If
  56.         '**************幹部 ************************************
  57.     End If
  58.     單位.Offset(, 3) = 責任額
  59.     達成百分比 = Round(達成額 / 責任額 * 100, 0)
  60.     單位.Offset(, 5) = 達成百分比
  61.     獎金 = 0
  62.     If 達成額 / 責任額 * 10 < 3 Then
  63.         M = 2
  64.     ElseIf 達成額 / 責任額 * 10 > 10 Then
  65.         M = 10
  66.         獎金 = Ar(2)(UBound(Ar(2)))
  67.     Else
  68.         M = Int(達成額 / 責任額 * 10)
  69.     End If
  70.     'Ar(2)(M) = 獎懲的金額
  71.     單位.Offset(, 6) = Ar(2)(M) + ((達成百分比 - 100) * 獎金) + 副總獎金
  72.     '獎金計算公式: 獎懲的金額+  ((達成100%以上-100)* 獎金) + 副總獎金
  73. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# sillykin


    檔案巳上傳...請大大幫忙

3333.rar (7.88 KB)

TOP

回復 3# sillykin
你把檔案t傳到哪裡去了?
要點選附件(迴紋針)才行!
Excel 的檔案要先壓縮成 Winrar 的 .rar、或 Winzip 的  .zip。

TOP

如何計算

A1為單位  A2為職稱   A3為目標額  A4為達成額 A5為比率計算公式為((A4/A3)-100)*75
:
:
:
A300

筆數約為300筆(如何代入公式VBA)

如何用VBA寫成呢???

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題