![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
いつも活用させていただいているものです。
今回は、以下の内容を行いたいと思います
Sheet1とSheet2のA列(NO)を比較して、Sheet2にない項目(NO、名前、年齢、性別)をSheet2の4行目に追加したいと考えております。
どのようなプログラムを組めばよろしいでしょうか。
【Sheet1】
|A |B | C | D |
---------------------------
1|NO |名前 |年齢 |性別|
2|001 |鈴木 |11 |男 |
3|002 |佐藤 |15 |女 |
4|003 |長島 |29 |女 |
【Sheet2】
|A |B | C | D |
---------------------------
1|NO |名前 |年齢 |性別|
2|001 |鈴木 |11 |男 |
3|002 |佐藤 |15 |女 |
←追加をしたい
お願いします。
No.2ベストアンサー
- 回答日時:
色々なロジックがあると思うが、
(1)総なめ比較法
(2)マッチングアルゴリズム法
(3)VLOOKUP利用
など考えられ、私なら(2)でやるが、プログラム経験が余りなさそうだから(3)でやってみます。
Sub test01()
On Error GoTo p1
Dim sh1, sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
'---
d1 = sh1.Range("A65536").End(xlUp).Row
d2 = sh2.Range("A65536").End(xlUp).Row
For i = 2 To d1
x = Application.WorksheetFunction.VLookup(sh1.Cells(i, "B"), sh2.Range("B2:D" & d2), 1, False)
Next
Exit Sub
p1:
d2 = d2 + 1
sh2.Cells(d2, "A") = sh1.Cells(i, "A")
sh2.Cells(d2, "B") = sh1.Cells(i, "B")
sh2.Cells(d2, "C") = sh1.Cells(i, "C")
sh2.Cells(d2, "D") = sh1.Cells(i, "D")
Resume Next
End Sub
ー
例データ Sheet1
001鈴木11男
002佐藤15女
003長島29女
004大田33男
002佐藤15女
Sheet2 A2:D4
001鈴木11男
002佐藤15女
009近藤23女
結果
Sheet2
001鈴木11男
002佐藤15女
009近藤23女
003長島29女
004大田33男
No.1
- 回答日時:
それぞれのシートのA列のNOに重複がないのであれば、
その有無を判定し、ない場合には値を代入していく。
と言ったところでしょうか?
(NOと名前・年齢・性別は必ず一致している事が条件です)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- Visual Basic(VBA) Worksheets メソッドは失敗しました。のエラー処理のやり方 4 2022/05/29 21:29
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
Excel VBA インデックスの境...
-
エクセル:VBAで月変わりで、自...
-
excelの差込印刷で可視セルだけ...
-
エクセルVBA 別シートの複数の...
-
VBA:同じ文字列データの比...
-
EXCELマクロで全シート対...
-
歯抜けの時間を埋めて行の挿入
-
VBAで複数シート選択
-
Excel VBAでシート内全体に非表...
-
Excelで最後まで計算式を...
-
Excel 蓄積された売上データを...
-
プリインスト-ル「カメラアプリ」が使えますん。
-
ドコモの電話帳バックアップに...
-
スマホ機種変更で旧機種のGoogl...
-
代替機にキズ
-
FOMAカード(UIM)異常
-
PC修理に出すのですが、個人情...
-
映画「デスノート」前編の中に...
-
SDカードのデータ更新について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
VBA:同じ文字列データの比...
-
エクセルVBA 別シートの複数の...
-
エクセルVBAで SendKeys "{TAB}"
-
エクセル:VBAで月変わりで、自...
-
VBA別シートの最終行の下行へ貼...
-
歯抜けの時間を埋めて行の挿入
-
エクセルVBAで 2種のリストを...
-
Excel VBAでシート内全体に非表...
-
VBAで複数シート選択
-
EXCELマクロで全シート対...
-
Excel VBA :2回目以降実行で貼...
-
VBAで条件が一致する行のデータ...
-
VBAの指示の内容 昨日こちらで...
-
【WORD差し込み印刷】複数レコ...
-
Excelでデータの抽出&別シート...
-
エクセルVBAで実行時エラー...
-
エクセル シート保護後コメン...
おすすめ情報