Vba 对指定范围内的列求平均值
这方面完全是新手,但由于我的Excel VBA傻瓜编程帮不上忙,我希望你们都能 我每个月都会对不同项目的员工进行评估。各种程序被分解成不同的工作簿。数据不同,员工数量每月波动,因此我尝试创建尽可能相对的公式(即没有特定的单元格)。我每月重复此功能,并将滚动数据粘贴到工作簿中,以供后代使用,因此行开始以及每个月的行数都会发生变化 也就是说,我使用的是一个命名范围(“April18”),我只需要“April18”中一列的平均值。我很可能只是每月更改命名范围,并在宏中编辑该范围 基本上,如何在命名的“April18”范围内获得B:B的平均值 代码:Vba 对指定范围内的列求平均值,vba,excel,Vba,Excel,这方面完全是新手,但由于我的Excel VBA傻瓜编程帮不上忙,我希望你们都能 我每个月都会对不同项目的员工进行评估。各种程序被分解成不同的工作簿。数据不同,员工数量每月波动,因此我尝试创建尽可能相对的公式(即没有特定的单元格)。我每月重复此功能,并将滚动数据粘贴到工作簿中,以供后代使用,因此行开始以及每个月的行数都会发生变化 也就是说,我使用的是一个命名范围(“April18”),我只需要“April18”中一列的平均值。我很可能只是每月更改命名范围,并在宏中编辑该范围 基本上,如何在命名的“
Do
Dim x
For x = 1 To 5
ActiveCell.Select
Selection.NumberFormat = "0\%"
ActiveCell.Offset(0, 1).Activate
Next x
ActiveCell.FormulaR1C1 = "=SUM(RC[-5]:RC[-1])/100"
Selection.Style = "Percent"
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = "=IF(OR(RC[-1]>85%,RC[-1]=85%),""Pass"",""Fail"")"
ActiveCell.Offset(1, -6).Activate
Loop Until ActiveCell.Value = ""
谢谢大家! 使用Application.WorksheetFunction.Index获取列
With Application.WorksheetFunction
Dim Sm as Double
Sm = .Average(.Index(Range("April18"),0,2))
Debug.Print Sm
End with
其中
2
是所需命名范围的列号。嗨,斯科特-感谢您的帮助!不幸的是,你的计算对我不起作用。我试图把平均数排在“2018年4月”最后一行的下面。我不确定这是否会改变你的答案。我需要学习如何发布宏,看看这是否有帮助。只需使用edit将代码放在原始帖子中。然后高亮显示它并按Ctrl-k将其格式化为代码。如果您不能,有人会帮助设置格式。我还应该说,我已经在我上次计算后使用偏移量进行计算的单元格中。这只是一个示例,您可以简单地将Sm
中的值分配给您想要的任何单元格。不要在注释中发布代码,请在原始帖子中发布。