Excel VBA 質問スレッド №1952 (解決済)

ヒットしない値のデータをコピーしたい

投稿者 : るるr     投稿日時 : 2024/07/06(Sat) 11:26:18     OS : Windows 10     EXCEL : Excel 2021
データと追加データのシートがあります。
データ シートの個人番号J列
追加データ シートの個人番号D列
データシートにない個人番号を追加データシートから取得して
データシートに格納したいです。
また、
格納したいのは個人番号D列からEJ列までコピーして貼り付けたいです。


Sub ③データに追加データ()
    Dim ws1 As Worksheet, ws2 As Worksheet
    Set ws1 = Worksheets("データ")
    Set ws2 = Worksheets("追加データ")
    Dim sa As Range
    With ws1
        Set sa = .Range("J3:J" & .Cells(Rows.Count, "J").End(xlUp).Row)
    End With
    Dim i As Long
    For i = 3 To ws2.Cells(Rows.Count, 1).End(xlUp).Row
     
        Dim hit As Variant
        hit = Application.Match(ws2.Cells(i, "A").Value, sa, 0)
        If IsError(hit) Then
            ws1.Range("J3").End(xlDown).Offset(1).Value = ws2.Cells(i, "D").Value
        End If
       
       Next
End Sub


上のコードだと個人番号しかはれません。

スポンサーリンク
[返信 1] Re : ヒットしない値のデータをコピーしたい
投稿者 : anu     投稿日時 : 2024/07/06(Sat) 11:42:16
ws2.Cells(i, "D").offset(0,139)では?

[返信 2] Re : ヒットしない値のデータをコピーしたい
投稿者 : るるr     投稿日時 : 2024/07/06(Sat) 11:54:13
■[返信 1] anuさん(2024-07-06 11:42:16)の記事
> ws2.Cells(i, "D").offset(0,139)では?

すみません、説明がたりませんでした。
格納したいデータは
追加データのD~EJ行すべて格納したいです。

[返信 3] Re : ヒットしない値のデータをコピーしたい
投稿者 : ピロリ     投稿日時 : 2024/07/06(Sat) 18:15:16
 hit = Application.Match(ws2.Cells(i, "A").Value, sa, 0)

↑何故ここで A列の値が出てくるのか分かりませんけど、

 ws1.Range("J3").End(xlDown).Offset(1).Value = ws2.Cells(i, "D").Value

↑これでは D列の値だけしか代入されません。↓D~EJ列のコピペでどうでしょう?

 ws2.Range(ws2.Cells(i, "D"), ws2.Cells(i, "EJ")).Copy sa.Offset(1)

[返信 4] Re : ヒットしない値のデータをコピーしたい
投稿者 : ピロリ     投稿日時 : 2024/07/06(Sat) 21:45:35
すいません。 コピペは下でお願いします。

 ws2.Range(ws2.Cells(i, "D"), ws2.Cells(i, "EJ")).Copy ws1.Cells(Rows.Count, "J").End(xlUp).Offset(1)

[返信 5] Re : ヒットしない値のデータをコピーしたい
投稿者 : るるr     投稿日時 : 2024/07/08(Mon) 09:40:49
■[返信 4] ピロリさん(2024-07-06 21:45:35)の記事
ありがとうございます,
解決しました!!

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-08-27 02:33:57 )
タイトルとURLをコピーしました