0

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

问题是我似乎无法让 CountIf 部分在消息框中显示缺席和出席之前计算缺席和出席的数量。

我对编码很陌生,所以它可能真的一团糟,但任何帮助和我都将不胜感激:)

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
4

1 回答 1

1

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

WorksheetFunctions.CountIf(Arg1 As Range, Arg2)

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

所以你的CountIf行应该是这样的:

WorksheetFunction.CountIf( Range("E:E") , "Present")
于 2013-04-10T14:14:11.267 回答