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
VBA计算平均值_Vba_Excel - Fatal编程技术网

VBA计算平均值

VBA计算平均值,vba,excel,Vba,Excel,这就是问题所在,我需要得到参与、测验、座位工作和考试的平均值。答案应显示在“总计”中。但也计算出下一个单元格的百分比。有没有一个宏可以在一次运行时计算它们 这是我在录制宏时得到的结果: Sub Macro4() ' ' Macro4 Macro ' ' ActiveCell.FormulaR1C1 = "=RC[-1]*10%" Range("C2").Select Selection.AutoFill Destination:=Range("C2:C3"), Typ

这就是问题所在,我需要得到参与、测验、座位工作和考试的平均值。答案应显示在“总计”中。但也计算出下一个单元格的百分比。有没有一个宏可以在一次运行时计算它们

这是我在录制宏时得到的结果:

Sub Macro4()
'
' Macro4 Macro
'

'
    ActiveCell.FormulaR1C1 = "=RC[-1]*10%"
    Range("C2").Select
    Selection.AutoFill Destination:=Range("C2:C3"), Type:=xlFillDefault
    Range("C2:C3").Select
End Sub

但它一次运行就很简单,便于计算

看起来您最好使用Excel中的公式,而不是宏。如果您将公式:
“=(B2*(10/100))+(D2*(20/100))+(F2*(20/100))+(H2*(50/100))”
放入单元格J2,并将其复制下来,它将为您提供分数的加权平均值

我真的认为您不需要或不想要VBA

我会用总分来设置它,分数在前,分数在后。然后,您可以根据需要更轻松地更改它们。在单元格J4中输入以下公式
=B4/$B$1*$B$2+D4/$D$1*$D$2+F4/$F$1*$F$2+H4/$H$1*$H$2
,然后向下复制

按此方法计算:


为什么不将公式应用于每个单元格?