引用:
VBAで効率化を図りたい
であれば、
・J列 は、0.00
・41行目 は 0.000
を設定してしまえば済む話と思うのですが・・
Dim rng As Range
Set rng = Range("A:K").Find("平均")
Range(rng.Offset(1), Cells(Rows.Count, rng.Column).End(xlUp)).NumberFormat = "0.00"
Set rng = Range("B:B").Find("学年平均")
Range(rng.Offset(0, 2), Cells(rng.Row, Columns.Count).End(xlToLeft)).NumberFormat = "0.000"
これだと、I41、J41、K41 にも
書式 0.00 が設定されてしましますが
例のデータを見る限り 0.000 が設定されていても実害は無いですよね。
「K列 より前の 空白以外の最初」なら
Range(rng.Offset(0, 2), Cells(rng.Row, "K").End(xlToLeft)).NumberFormat = "0.000"
でも良さそうですが。
それが気に入らないのであれば、除外する条件を明示してください。