VBA - 基于多个标准的计数值

时间:2017-04-18 04:07:18

标签: vba excel-vba excel

嗨,我是新来的,所以我还有很多东西需要学习。此外,我不是母语为英语的人,因此我很难解释事情。无论如何,我会尽我所能。

我遇到基于多个条件计算值的问题。例如,我有两个标准,即“A”和“B”。但是,我只获得每行中的最后一个值。我已经使用过COUNTIFS,但它仍然不起作用。

请看下面的内容,以便更好地了解我在做什么。

Criteria |  C  |  D  |  E  |         Criteria |  C  |  D  |  E  |
   A     |  x  |     |  x  |             A    |  1  |     |  1  |
   B     |     |     |  x  |  -->        B    |     |     |  1  |
   A     |  x  |     |     |

这是我到目前为止的代码。

Sub Run_Report()

Dim sht As Worksheet
Set sht = ActiveSheet

Dim wb As Workbook
Set wb = ThisWorkbook

Dim EndRow As Long
EndRow = wb.Sheets("MDR").Cells(Cells.Rows.Count, "C").End(xlUp).row

wb.Sheets("Report").Range("E9:N17").ClearContents

Dim LastCol As Long

For i = 9 To EndRow
    LastCol = wb.Sheets("MDR").Cells(i, Columns.Count).End(xlToLeft).column
    If LastCol > 5 And LastCol < 15 And wb.Sheets("MDR").Cells(i, LastCol).Font.ColorIndex = 3 Then
         sht.Cells(9, wb.Sheets("MDR").Cells(i, LastCol).column).Value = Application.WorksheetFunction.CountIfs(wb.Sheets("MDR").Range("D9:D" & EndRow), "General", _
         wb.Sheets("MDR").Range("A9:N" & EndRow).Columns(wb.Sheets("MDR").Cells(i, LastCol).column), "<>" & "")
    End If
Next

End Sub

任何帮助都将受到赞赏。

谢谢!

0 个答案:

没有答案