所以我将这个大电子表格与正常的 excel 函数放在一起,效果很好,但我想通过使用 vba 和粘贴静态值来加速它并缩小文件大小,而不是降低性能的引用值(工作簿大约 20 mb 现在并将继续增长)
所以我知道我想完成什么,但我很难用简洁的表达方式表达出来,因为我的 VBA 经验仍处于起步阶段,所以任何帮助将不胜感激。
z-score = (数字 - 所有数字的平均值) / (所有数字的标准差)
Worksheets("relay").Value("c32") 包含所有数字的平均值 Worksheets("relay").Value("c33") 包含所有数字的标准差
我想做的是在工作表(“Hitterscalc”).range(“cb:cb”)列中,用工作表(“Hitterscalc”).range(“J: J") 对于该列中其对应的 A 列单元格不等于“”且其对应的 AB 列等于 1 的所有行
有人对此有什么简洁的陈述吗?我可以粗略地逐个单元地完成它,但是当我开始放入循环以遍历所有列时,它在我的代码中都崩溃了,不幸的是在我的脑海中。
感谢您的时间
Application.ScreenUpdating = False
Worksheets("hitterscalc").Range("cb2").FormulaR1C1 = _
"=IF(OR(RC[-79]="""",RC[-52]<>1,Settings!R4C[-74]<>""yes""),"""",(RC[-70]-relay!R32C[-77])/relay!R33C[-77])"
Sheets("HittersCalc").Select
Range("CB2").Select
Selection.AutoFill Destination:=Range("CB2:CB701") Range("CB2:CB701").Select Columns("CB:CB").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False