こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

最終行に合計(最終行が列によって異なる場合)

エクセルVBAに於いて質問させて頂きます。

タイトルにも書かせていただきましたが、

A列に行数可変のデータ(文字列)があり、
B列に行数可変のデータ(数字)があり、

A列の行数>=B列の行数の条件とき、

A列の最終行+2の位置のA列に文字で合計
A列の最終行+2の位置のB列にsumを表示する場合、
どのようにすれば出来ますでしょうか。

A列の最終行+2の位置のA列に文字で合計は
With Range("A3")
.End(xlDown).Offset(2, 0).Formula = "合計"
End With
でいけると思うのですが、

A列の最終行+2の位置のB列にsumを表示する場合どのようにすればいいのかわかりません。

ご教授のほどお願い致します。

投稿日時 - 2012-04-03 13:42:51

QNo.7399825

困ってます

質問者が選んだベストアンサー

一番シンプルには
with range("A65536").end(xlup)
 .offset(2).value = "合計"
 .offset(2, 1).formular1c1 = "=SUM(R3C:R[-2]C)"
end with
などのようにします。


#注意
end(xldown)で下に下ろすと,データがまだ記入されていないなどの場合によく失敗します。



#参考
一回「最終行」を変数で受けてから
dim r as long
r = range("A65536").end(xlup).row + 2
cells(r, "A") = "合計"
cells(r, "B").formular1c1 = "=SUM(R3C:R[-2]C)"

などのように利用した方が,何かと便利な場合も多いので練習してみてください。

投稿日時 - 2012-04-03 15:20:19

お礼

ご回答頂きましてありがとうございます。
思惑通りの事ができました。

>end(xldown)で下に下ろすと,データがまだ記入されていない
>などの場合によく失敗します
upとdownの注意を見ていたのにすっかり忘れていました。

確かに、参考のコードの方が今後何かと便利に使えそうな気がしますので、こちらを使用させて頂きたいと思います。

投稿日時 - 2012-04-03 19:12:27

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

一例です。
With Range("A3").End(xlDown)
.Offset(2, 0).Value = "合計"
.Offset(2, 1).Formula = "=sum(B3:B" & .Row & ")"
End With

投稿日時 - 2012-04-03 14:04:25

お礼

ご回答頂きましてありがとうございます。
思惑通りの事ができました。

投稿日時 - 2012-04-03 19:06:33

ANo.2

こんにちは!
色々やり方はあると思いますが・・・
一例です。

Sub test()
Dim i As Long
i = Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1) = "合計" Then
Range(Cells(i, 1), Cells(i, 2)).ClearContents
End If
With Cells(Rows.Count, 1).End(xlUp).Offset(2)
.Value = "合計"
.Offset(, 1) = WorksheetFunction.Sum(Columns("B"))
End With
End Sub

※ データが変更された場合も対応できるようにしてみました。
参考になりますかね?m(_ _)m

投稿日時 - 2012-04-03 14:04:04

お礼

ご回答頂きましてありがとうございます。
思惑通りの事ができました。
確かに、色々な方法が有ることに気づかされました。
勉強になります。

投稿日時 - 2012-04-03 19:05:47

ANo.1

B3からA列の最終行までの合計だとすると

With Range("A3").End(xlDown).Offset(2, 0)
 .Formula = "合計"
 .Offset(, 1).Value = "=SUM(B3:B" & .Row - 2 & ")"
End With

投稿日時 - 2012-04-03 13:58:20

お礼

ご回答頂きましてありがとうございます。
思惑通りの事ができました。

投稿日時 - 2012-04-03 19:04:03

あなたにオススメの質問