おぐ230ぼちぼち

アクセスカウンタ

zoom RSS 【エクセル】マクロ備忘録:重複する行の個数を合計して1行にまとめる

<<   作成日時 : 2011/01/08 12:04   >>

驚いた ブログ気持玉 6 / トラックバック 0 / コメント 0

エクセルマクロ備忘録。
<処理>「A列(届先名称)、B列(届先住所)、C列(個数)」からなるデータを「届先名称」毎に個数を合計しD列に設定、1行にまとめる

以下マクロ記述(あくまでも個人備忘録なので突っ込みご容赦)
------------------------------------------------------------------------------------
Sub Macro1()

' 届先名(A列)でソート
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom,
SortMethod _
:=xlPinYin

' 見出し追加&最初の届先(A2)・個数(C2)の値を変数に設定
Range("D1") = "個数合計"

Dim tdk As String
tdk = Range("A2").Text
ksu = Range("C2").Value

' 届先名を比較して、同じ場合は個数を加算
' 加算した個数を最後の行(1行しかない場合はその行に、2行ある場合は2行目)に設定
i = 3
step01:
If Cells(i, 1).Text = tdk Then
ksu = ksu + Cells(i, 3)
Else
Cells(i - 1, 4) = ksu
tdk = Cells(i, 1).Text
ksu = Cells(i, 3).Value
End If

i = i + 1
If Cells(i, 1) <> "" Then GoTo step01

' 最後の届先の個数設定
Cells(i - 1, 4) = ksu

' ダブり行の書式を変更(色付け・太斜字)
Columns("A:A").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=COUNTIF(A:A,A1)>1"
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = True
End With
Selection.FormatConditions(1).Interior.ColorIndex = 44

' 「個数合計」設定のないダブり行を削除する(D列が空白の行を削除)
With Range("D1:D" & Range("D65536").End(xlUp).Row)
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With

End Sub

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 6
驚いた 驚いた
面白い 面白い
ガッツ(がんばれ!)
かわいい

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文
【エクセル】マクロ備忘録:重複する行の個数を合計して1行にまとめる おぐ230ぼちぼち/BIGLOBEウェブリブログ
文字サイズ:       閉じる