试图完成sumifs(?)脚本

时间:2017-04-26 19:34:24

标签: excel excel-vba vba

如果日期属于所选月份并且在适当的团队中,则尝试完成将C中的值相加的脚本。 例如:

|  Team|  Date|  Cost|
|   102|Mar-17| 13245|
|   103|Jan-17|  2050|
|   101|Feb-17|  1245|
|   104|Jan-17| 12400|
|   102|Mar-17|  5242|
|   104|Jan-17|   600|
|   102|Feb-17| 10240|
|   102|Jan-17|   450|
|   102|Mar-17| 12245|
|   101|Jan-17|  2300|

目标是让脚本确定我是否正在寻找1月:

  • 101 = 2300
  • 102 = 450
  • 103 = 2050
  • 104 = 13000

我一直试图解决这个问题并感到困惑。在提供的公式中,cboMonth是从用户表单及其组合框确定为三个月的月份。 cboYear以类似的方式确定为4位数。最初的计划是使用一个循环,但我不知道如何将一个求和函数组合到混合中。这是我到目前为止所做的。

Dim rng As Range
Dim lastrow As Long
Dim x As Integer
Dim txt101 As Long
Dim txt102 As Long
Dim txt103 As Long
Dim txt104 As Long
Dim txt105 As Long

lastrow = Cells(Rows.Count, "A").End(x1Up).Row


ReportWbk.Sheets(cboYear).Activate
Application.ScreenUpdating = False
For Each x In Range("D" & lastrow)
    If x.Value = "FG-25" And x.Offset(, 1).Format(Month(mmm)) = cboMonth Then
        txt101 =
        txt102 =
        txt103 =
        txt104 =
        txt105 =
    End If
Next x

1 个答案:

答案 0 :(得分:2)

假设您的“团队”位于A列,“日期”位于B列,“费用”位于C列,您的变量cboMonthcboYear属于{{1你应该能够做到:

String

我不清楚您的数据是如何构建的,但这不应该太难以集成到您的代码中。