这个完整且全新的 - 但由于我的Excel VBA Programming for Dummies无法提供帮助,我希望你们都可以。
我有各种计划的员工每月评估分数。各种程序分为不同的工作簿。数据不同,员工数量逐月波动,所以我试图创建尽可能相对的公式(即没有特定的单元格)我每月重复这个函数并将滚动数据粘贴到后代的工作簿中,所以行开始更改以及每个月的行数。
那就是说,我正在使用一个命名范围(" April18")而我只需要" April18"中的一个列的平均值。我很可能每个月只更改命名范围并在我的宏中编辑它。
基本上,我如何得到B#B在指定范围内的平均值" 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 = ""
谢谢!
答案 0 :(得分:1)
使用Application.WorksheetFunction.Index获取列
With Application.WorksheetFunction
Dim Sm as Double
Sm = .Average(.Index(Range("April18"),0,2))
Debug.Print Sm
End with
其中2
是您想要的命名范围的列号。