|
こんにちは。かみちゃん です。
Nedさんからもコメントが出ていますが・・・
> A B C D E F ・・・ CB
>1 単価 数量 合計 単価 数量 合計 数量合計
>2 5 10 50 10 10 100 20
>3 2 10 20 5 8 40 18
>
>数量合計=SUMIF(A1:$CB$1,"数量",A2:CB2)
>と、セルに数式を入れる場合は、CB2に記述しますが、
>VBで自動入力し、
>れを、CB列の最終行までコピーするにはどう記述したらいいでしょうか?
CB列の最終行までコピーというより、設定する範囲を決めてから一気に設定する
方法です。
ちなみに、CB列はこれから計算式を設定すると思いますので、CB列の最終行はまだ
求められないと思います。
一応以下のような感じでできると思いますが、例では、CA列の最終行を取得して、
その行のCB列までに数式を設定するというものです。
Sub Sample1()
Range("CA2", Range("CA65536").End(xlUp)).Offset(, 1).Formula = _
"=SUMIF($A$1:$CB$1,""数量"",A2:CB2)"
End Sub
ちょっとややこしいですが、以下のような方法でもできます。
Sub Sample2()
With Range("CA1")
.Resize(.Offset(Rows.Count - .Row).End(xlUp).Row _
- .Row).Offset(1, 1).Formula = _
"=SUMIF($A$1:" & .Address & ",""数量""," & _
.Offset(1, .Column * -1 + 1).Resize(, .Column).Address(0, 0) & ")"
End With
End Sub
|
|