如何从vba中的用户输入计算平均值?

时间:2020-12-28 11:13:07

标签: excel vba

如何根据用户在 vba 中的输入计算平均值?最后两行代码尝试计算来自用户的三个输入的平均值,但失败

Sub Storedata()

    ActiveWorkbook.Save
    Dim intnum1 As Integer
    Dim intnum2 As Integer
    Dim intnum3 As Integer
    
    Sheet2.Select
    Let intnum1 = InputBox("Enter the 1st number")
    Let intnum2 = InputBox("Enter the 2nd number")
    Let intnum3 = InputBox("Enter the 3rd number")
    
    If intnum1 > intnum2 And intnum1 > intnum3 Then
    MsgBox intnum1 & " is the Highest "
    ElseIf intnum2 > intnum1 And intnum2 > intnum3 Then
    MsgBox intnum2 & " is the Highest "
    ElseIf intnum3 > intnum1 And intnum3 > intnum2 Then
    MsgBox intnum3 & " is the Highest "
    Else
    MsgBox " one of the value is same "
    End If
    
    If intnum1 < intnum2 And intnum1 < intnum3 Then
    MsgBox intnum1 & " is the Smallest "
    ElseIf intnum2 < intnum1 And intnum2 < intnum3 Then
    MsgBox intnum2 & " is the Smallest "
    ElseIf intnum3 < intnum1 And intnum3 < intnum2 Then
    MsgBox intnum3 & " is the Smallest "
    Else
    MsgBox " one of the value is same "
    End If
    
    ActiveCell.Value = intnum1 + intnum2 + intnum3
    MsgBox intnum1 + intnum2 + intnum3 & " Total "
    
    Range("A2").Value = intnum1 + intnum2 + intnum3 / 3
    MsgBox intnum1 + intnum2 + intnum3 / 3 & " Average "
    
End Sub

2 个答案:

答案 0 :(得分:0)

首先替换如下行:

intnum1 + intnum2 + intnum3 /3

与:

(intnum1 + intnum2 + intnum3) /3

(可能还有其他错误)

答案 1 :(得分:0)

value = WorksheetFunction.Average([your_arguments_here])

只需将您的参数传递给此函数。像这样:

value = WorksheetFunction.Average(intnum1, intnum2, intnum3)