ここから本文です

excelのマクロの質問です。 縦に結合されたセルの左横に数字が入っています、 結...

arr********さん

2013/3/1914:40:57

excelのマクロの質問です。
縦に結合されたセルの左横に数字が入っています、
結合セルに、接合セルの隣の数字の合計を求める方法を教えていただけませんか。

補足回答ありがとうございます。

頂いたプログラムはどちらも
Excelの2列目を対象としていると思います。

任意の列で行いたいため、選択範囲だけで合計を求めていくようにしたいと思います。
解決策をお願いいたします。

Dim i As Long,MergeArea.Count,r.Column,A&quot,接合セル,r As Long,数字

閲覧数:
1,083
回答数:
2

違反報告

ベストアンサーに選ばれた回答

msk********さん

編集あり2013/3/2109:50:21

一例です。
数値がA列、B列が結合セルとしています。

Sub sample()
Dim i As Long, r As Range
Set r = Selection
For i = r.Row To r.Rows.Count
With Cells(i, r.Column + 1).MergeArea
Cells(i, r.Column + 1) = _
Application.Sum(Cells(i, r.Column).Resize(.Count))
i = i + .Count - 1
End With
Next
End Sub

補足から
後だしジャンケンは勘弁してほしいですね。
範囲選択版にましたのでセル選択した状態でマクロ実行して下さい。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

ta_********さん

編集あり2013/3/2109:42:15

補足
結合セルのみ選択して実行してみてください。
エラー対応等は簡単なものしか考えてません。


Sub test()
Dim i As Long, l As Long, r As Long
Dim c As Long
Dim myR As Range

If TypeName(Selection) <> "Range" Then Exit Sub
If Selection.Columns.Count <> 1 Then Exit Sub

Set myR = Selection
i = myR.Rows.Count + myR.Row
r = myR.Row
c = myR.Column

Do Until i = r
l = Cells(r, c).MergeArea.Count
Cells(r, c).Value = Application.Sum(Cells(r, c - 1).Resize(l))
r = r + l
Loop

End Sub





サンプルです。
結合セルがB列として、

Sub test()
Dim i As Long, l As Long, r As Long


With ActiveSheet
r = .Range("A" & .Rows.Count).End(xlUp).Row + 1
i = 1

Do Until r = i
l = .Range("B" & i).MergeArea.Count
.Range("B" & i).Value = "=sum(A" & i & ":A" & i + l - 1 & ")"
i = i + l
Loop
End With
End Sub

こんな感じ。。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる