Excel VBA Sumiffunction

我有一个工作脚本,我需要添加sumif。 我想你应该可以看到我想input公式的位置。 我正在尝试在同一个工作簿中引用另一个工作表。 我坚持的部分是如果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 

你会这样使用它:

 Application.WorksheetFunction.SumIf(Worksheets("Calc by loan").Range("C:C"),"Salesperson",Worksheets("Calc by loan").Range("D:D"))