Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5280 / 13644 ツリー ←次へ | 前へ→

【51733】データの一致したリストのコピー 八幡 07/10/2(火) 22:05 質問[未読]
【51735】Re:データの一致したリストのコピー ponpon 07/10/2(火) 22:54 発言[未読]
【51761】Re:データの一致したリストのコピー 八幡 07/10/3(水) 20:12 お礼[未読]

【51733】データの一致したリストのコピー
質問  八幡  - 07/10/2(火) 22:05 -

引用なし
パスワード
    シート1に数値データ番号(A列)、文字コード(B列)のリストあり、シート2はデータ番号だけですが、このデータ番号からB列に文字コードを転記するマクロの作成を御教授ください。
 データ数はシート1で6万件、シート2で3000件あります

【51735】Re:データの一致したリストのコピー
発言  ponpon  - 07/10/2(火) 22:54 -

引用なし
パスワード
   ▼八幡 さん:
> シート1に数値データ番号(A列)、文字コード(B列)のリストあり、シート2はデータ番号だけですが、このデータ番号からB列に文字コードを転記するマクロの作成を御教授ください。
> データ数はシート1で6万件、シート2で3000件あります

シート2はデータ番号は、必ずシート1のリストにあるのでしょうか?
こんな感じでできると思います。

Option Explicit
Sub test()
  Dim myDic As Object
  Dim r As Range
  
  Set myDic = CreateObject("Scripting.Dictionary")
  With Sheets("Sheet1")
    For Each r In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
      myDic(r.Value) = r.Offset(, 1).Value
    Next
  End With
  With Sheets("Sheet2")
    For Each r In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
      r.Offset(, 1).Value = myDic(r.Value)
    Next
  End With
  Set myDic = Nothing
End Sub

でも、関数のVLOOKUPでもいいのでは?
シート2のB1に =VLOOKUP(A1,Sheet1!A1:B60000,2,FALSE)
で、必要なだけフィル
マクロでやるなら、

Sub test2()
  With Sheets("Sheet2")
     .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Offset(, 1).Formula = "=VLOOKUP(A1,Sheet1!A1:B60000,2,FALSE)"
  End With
End Sub

【51761】Re:データの一致したリストのコピー
お礼  八幡  - 07/10/3(水) 20:12 -

引用なし
パスワード
   ありがとうございます。
おかげさまでうまくいきました、今後もよろしくお願いします。

5280 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free