获取带有Count-if消息框的工作

时间:2013-04-10 14:09:44

标签: excel-vba vba excel

我'尝试'制作一个消息框,显示列中有多少存在和不存在,以便用户可以单击确定并复制数据或按取消并结束代码。

问题是我似乎无法让CountIf部分工作,它会在消息框中显示之前计算缺席和呈现的数量。

我是一个很新的编码所以它可能是一个真正的混乱,但任何帮助和ID都要感激:)

Sub SubmitAttendance()

    Dim Response As String
    Dim Question As String
    Dim PresentNumber As String
    Dim AbsentNumber As String


    Function As Integer
        PresentNumber = Countif(Range("E:E"), Present)
        AbsentNumber = Countif(Range("E:E"), Absent)
    End Function


    Question = "PresentNumber Present and AbsentNumber Absent"
    Response = MsgBox(Question, vbOKCancel, "Register Totals")

    If Response = vbOK Then
        Range("E:E").Select
        Selection.Copy

        Range("F:ZZ").Find("").Select
        Selection.PasteSpecial
    Else
        Exit Function
    End If
End Sub

1 个答案:

答案 0 :(得分:1)

Excel函数在WorkSheetFunctions模块中可用,例如:

WorksheetFunctions.CountIf(Arg1 As Range, Arg2)

另外,将第二个参数作为字符串传递,而不是作为变量传递(VB的忙乱性质将为您声明该名称的未初始化变量,这可能不是您想要的。

因此,您的CountIf行应该是:

WorksheetFunction.CountIf( Range("E:E") , "Present")