だから私はこの大きなスプレッドシートを通常のExcel関数と一緒にまとめましたが、パフォーマンスを低下させている参照値とは対照的に、vbaを使用して静的な値を貼り付けることで、速度を上げてファイルサイズを小さくしたいと考えています(ワークブックは約20です)現在 mb であり、今後も増加していきます)
何をしたいのかはわかっていますが、VBAの経験がまだ始まったばかりであるため、簡潔な表現にするのに苦労しています。
Z スコア = (数値 - すべての数値の平均) / (すべての数値の標準偏差)
Worksheets("relay").Value("c32") にはすべての数値の平均が含まれます Worksheets("relay").Value("c33") にはすべての数値の標準偏差が含まれます
私がやりたいことは、worksheets("Hitterscalc").range("cb:cb") 列にあり、worksheets("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