Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在VBA中使用COUNTIF?_Excel_Vba_Countif - Fatal编程技术网

Excel 如何在VBA中使用COUNTIF?

Excel 如何在VBA中使用COUNTIF?,excel,vba,countif,Excel,Vba,Countif,我正在尝试使用VBA来计算范围内的日期数。我的范围扩展了列和行,我试图找到最后一行和最后一列,但似乎无法得到我想要的结果 如何使用COUNTIF函数中的最后一行和最后一列 以下是我目前掌握的代码: Sub count_Month() Dim ws As Worksheet Dim LastCol As Long Dim count As Long Dim lastrow As Long lastrow = Sheet3.Range("M" & Rows.count).End(xlUp)

我正在尝试使用VBA来计算范围内的日期数。我的范围扩展了列和行,我试图找到最后一行和最后一列,但似乎无法得到我想要的结果

如何使用
COUNTIF
函数中的最后一行和最后一列

以下是我目前掌握的代码:

Sub count_Month()
Dim ws As Worksheet
Dim LastCol As Long
Dim count As Long
Dim lastrow As Long

lastrow = Sheet3.Range("M" & Rows.count).End(xlUp).Row
Set ws = Sheets("clientmenu")

    If Application.WorksheetFunction.CountA(ws.Cells) = 0 Then
        LastCol = 1
    Else
        LastCol = ws.Cells.Find(What:="*", _
                After:=ws.Range("A8"), _
                Lookat:=xlPart, _
                LookIn:=xlFormulas, _
                SearchOrder:=xlByColumns, _
                SearchDirection:=xlPrevious, _
                MatchCase:=False).Column
    End If

    With Application.WorksheetFunction
        count = .CountIfs(Sheet2.Range("M8" & LastCol), ">=" & Sheet2.Range("R25"), Sheet2.Range("M8" & LastCol), "<=" & Sheet2.Range("R26"))

    End With
        Debug.Print count
End Sub
Sub count\u Month()
将ws设置为工作表
暗淡如长
不算长
最后一排一样长
lastrow=Sheet3.Range(“M”和Rows.count).End(xlUp).Row
设置ws=Sheets(“客户端菜单”)
如果Application.WorksheetFunction.CountA(ws.Cells)=0,则
LastCol=1
其他的
LastCol=ws.Cells.Find(内容:=“*”_
之后:=ws.范围(“A8”)_
看:=xlPart_
LookIn:=xl公式_
SearchOrder:=xlByColumns_
搜索方向:=xlPrevious_
MatchCase:=False)。列
如果结束
使用Application.WorksheetFunction
计数=.CountIfs(Sheet2.Range(“M8”和LastCol)、“>=”和Sheet2.Range(“R25”)、Sheet2.Range(“M8”和LastCol)、“
子计数月份()
将ws设置为工作表
变暗LastCol为长,LastRow为长,计数为长,rng为范围
LastRow=Sheet3.Range(“M”和Sheet3.Rows.count)。End(xlUp)。Row
设置ws=Sheets(“客户端菜单”)
如果Application.WorksheetFunction.CountA(ws.Cells)=0,则
LastCol=1
其他的
LastCol=ws.Cells.Find(内容:=“*”_
之后:=ws.范围(“A8”)_
看:=xlPart_
LookIn:=xl公式_
SearchOrder:=xlByColumns_
搜索方向:=xlPrevious_
MatchCase:=False)。列
如果结束
附页2
设置rng=.Range(.Cells(8,13),.Cells(LastRow,LastCol))
以
count=Application.WorksheetFunction.CountIfs(rng,“>=”和Sheet2.Range(“R25”)_

rng,”你面临的具体问题是什么?你能描述一下你想用你的
计数实现什么吗如果
@AAA我当前的代码返回0的输出,它应该返回10。我的代码基本上是计算7月份的所有呼叫。
Sheet2
包含它与
Sheet3
匹配的日期。我正在尝试设置我的range到
LastRow
LastColumn
每个新呼叫从
$M$8
开始记录,结果从
$N$8
开始记录。第二次尝试记录日期的
$O$8
,记录结果的
$P$8
,依此类推on@AAA没错,只是我似乎不知道该怎么写。我的上一本书现在,LastCol总是在更改。请检查下面的答案,查看运行时错误
无法获取WorksheetFunction类的CountIfs属性
应用程序。WorksheetFunction.CountIfs(rng,“>=”&Sheet2.Range(“R25”),rng,“谢谢,请相应修改