[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別シートの2列を比較して重複してないデータを最終行に追加する』(to)
sheet1とSheet2のA・B列を比較して重複していない行をsheet1に追加したいです。
マクロでなんとかしたいと思ったのですが全くの初心者です。
sheet1
A B C D・・・・・・P
1 区分 番号 金額 年度
2 あ 15 200 18
3 い 10 150 24
4 あ 22 250 16
5 う 10 230 18
sheet2
A B C D・・・・・・P
1 区分 番号 金額 年度
2 あ 15 200 18
3 い 10 150 24
4 あ 22 250 16
5 う 14 200 19
両シートの区分と番号を比較して両方重複していないデータ上記でいうと
sheet2の5行目をsheet1の6行目に追加していきたいのです。
分かりづらい説明で申し訳ありませんがどうかご教授をお願いします。
< 使用 Excel:Excel2010、使用 OS:WindowsVista >
>両シートの区分と番号を比較して両方重複していないデータ上記でいうと ~~~~~~~~ 結果からいえば、下線の「両方」は「シート1とシート2」になると思いますが シート2の5行目と同じデータが、シート2のたとえば10行目にあるかもしれない という意味で「両方重複していない」という表現なのでしょうか?? (稲葉) 2014/09/16(火) 07:34
両シートの区分と番号を比較して両方重複していないデータ上記でいうと
~~~~~~~~ の「両方」は「区分と番号」の事を指します。つまり sheet2の区分&番号がSheet1の区分&番号に 存在するか?と事です。 sheet1に存在しないsheet2の区分番号の行をsheet1の最終行に追加したいのです。
この説明でイメージできるでしょうか。本当に説明がヘタで申し訳ないです。
(to) 2014/09/16(火) 08:08
Sub test() Dim i As Long Dim j As Long Dim iMax As Long Dim jMax As Long Dim iFlag As Long
With Sheets("Sheet2") iMax = .Cells(.Rows.Count, "A").End(xlUp).Row For i = 2 To iMax iFlag = 0 jMax = Cells(Rows.Count, "A").End(xlUp).Row For j = 2 To jMax If Cells(j, "A").Value = .Cells(i, "A").Value And _ Cells(j, "B").Value = .Cells(i, "B").Value Then iFlag = j Exit For End If Next j If iFlag = 0 Then .Rows(i).Copy Cells(jMax + 1, "A") End If Next i End With End Sub (???) 2014/09/16(火) 09:51
(to) 2014/09/16(火) 10:31
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.