我有一个工作脚本,我需要添加一个sumif。我想你应该能够看到我试图输入公式的地方。我试图在同一工作簿中引用另一个工作表。我坚持的部分是compPlan = L.
Sub CalculateCommission()
Dim Index As Integer 'Row Index
Dim employeeName As String 'A
Dim compPlan As String 'B
Dim baseWage As Double 'AM
Dim commAN As Double 'AN
Dim guarantee As Double 'AO
Dim earningsDue As Double 'AQ
Dim priorPay As Double 'AR from prior pay cycle
Dim priorBase As Integer 'AS from prior pay cycle
Dim newComm As Double 'AU
Dim packBack As Double 'AP
Index = 3
Do While Len(ActiveSheet.Range("B" & Index))
employeeName = UCase(ActiveSheet.Range("A" & Index))
compPlan = UCase(ActiveSheet.Range("B" & Index))
baseWage = ActiveSheet.Range("AM" & Index)
newComm = ActiveSheet.Range("AU" & Index)
earningsDue = ActiveSheet.Range("AQ" & Index)
guarantee = ActiveSheet.Range("AO" & Index)
packBack = ActiveSheet.Range("AP" & Index)
If (IsError(ActiveSheet.Range("AR" & Index)) = False) Then
priorPay = ActiveSheet.Range("AR" & Index)
Else
priorPay = 0
End If
If (IsError(ActiveSheet.Range("AS" & Index)) = False) Then
priorBase = ActiveSheet.Range("AS" & Index)
Else
priorBase = 0
End If
commAN = ActiveSheet.Range("AN" & Index)
If compPlan = "B" Or compPlan = "D" Or compPlan = "E" Or compPlan = "I" Or compPlan = "J" Or compPlan = "L" Then
commAN = earningsDue - baseWage - guarantee - priorBase
Else
commAN = earningsDue - baseWage - guarantee
End If
If compPlan = "L" Then
Sumact = Application.SumIf 'Calc by loan'!C:D,"Salesperson",'Calc by loan'!D:D)
End If
If compPlan = "B" Or compPlan = "D" Or compPlan = "E" Or compPlan = "I" Or compPlan = "J" Then
If baseWage + newComm > baseWage Then
earningsDue = baseWage + newComm + guarantee + priorBase - priorPay + packBack
Else
earningsDue = baseWage + guarantee + packBack
End If
Else
If newComm > baseWage + priorPay Then
earningsDue = newComm - priorPay + guarantee + packBack
Else
earningsDue = baseWage + guarantee + packBack
End If
End If
ActiveSheet.Range("AQ" & Index).Value = earningsDue
Index = Index + 1
Loop
EndSub:
End Sub
答案 0 :(得分:2)
您可以这样使用它:
Application.WorksheetFunction.SumIf(Worksheets("Calc by loan").Range("C:C"),"Salesperson",Worksheets("Calc by loan").Range("D:D"))