你可以用excel的求平均数的函数。

解决方案 »

  1.   

    我的意思是用VB做个考试软件测试一下是否用的是EXCEL的的函数,而不是手算的!
      

  2.   

    可以检验的
    获取存放平均数的单元格的行号列号, 比如 A5
    range("A5").formulaR1A1=Range("A5").value 是手算的
    不等于就是用Excel函数算的.但是不保险:
    先用函数算好,再重新粘贴数字,就可以躲过这一关.想解决这个问题,恐怕要找上帝啦
      

  3.   

    '引用EXCEL对象库
    Dim xlsapp As Excel.Application
    Dim xlswb As Excel.Workbook
    Dim xlsws As Excel.Worksheet'生成测试用表格
    Private Sub Command1_Click()
      Set xlsapp = New Excel.Application
      xlsapp.Workbooks.Add
      Set xlswb = xlsapp.Workbooks(1)
      Set xlsws = xlswb.Worksheets(1)
      xlsws.Range("B3") = 3
      xlsws.Range("C3") = 4
      xlsws.Range("D3") = 5
      ''xlsws.Range("E3").FormulaR1C1 = "=AVERAGE(RC[-3]:RC[-1])"
      xlsws.Range("E3").FormulaR1C1 = "=AVERAGE(B3:D3)"
      xlsws.Range("F3") = 4
      xlswb.SaveAs App.Path & "\检测是否公式单元格.xls"
      xlswb.Close
      xlsapp.Quit
    End Sub'检测
    Private Sub Command2_Click()
      Set xlsapp = New Excel.Application
      Set xlswb = xlsapp.Workbooks.Open(App.Path & "\检测是否公式单元格.xls")
      Set xlsws = xlswb.Worksheets(1)
      MsgBox xlsws.Range("E3").FormulaR1C1
      If Left$(xlsws.Range("E3").FormulaR1C1, 1) = "=" Then MsgBox "因为以=开头,所以E3格是用公式求平均值的"
      If Left$(xlsws.Range("F3").FormulaR1C1, 1) = "=" Then
        MsgBox "因为以=开头,所以F3格是使用公式求得平均值的"
      Else
        MsgBox "F3格不是使用公式求得平均值的"
      End If
      xlswb.Save
      xlswb.Close
      xlsapp.Quit
    End Sub