Excel VBA質問箱 IV

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

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


14583 / 76734 ←次へ | 前へ→

【67640】Re:AとBを比べて一致したら返す
回答  UO3  - 10/12/20(月) 20:28 -

引用なし
パスワード
   ▼ののか さん:

こんばんは
いくつか、方法があるかともいますが、効率的には「中くらい」のコードです。
シート上のデータの数(行数)は、動的に取得することもできますが、とりあえず
ご提示の領域に固定してあります。

Sub Sample()
 Dim dic As Object
 Dim c As Range
 Dim shB As Worksheet
 
 Application.ScreenUpdating = False
 Set dic = CreateObject("Scripting.Dictionary")
 Set shB = Workbooks("B.xls").Worksheets("B")
 With shB
  For Each c In .Range("L2:L303")
   dic(c.Value) = c.Row
  Next
 End With
 
 With Workbooks("A.xls").Worksheets("A")
  For Each c In .Range("B2:B3131")
   With c.Offset(0, 1).Resize(, 2)
    .ClearContents
    If dic.exists(c.Value) Then
     .Value = shB.Cells(dic(c.Value), "Q").Resize(, 2).Value
    End If
   End With
  Next
 End With
 
 Set dic = Nothing
 Set shB = Nothing
 Application.ScreenUpdating = True
 
End Sub

5 hits

【67637】AとBを比べて一致したら返す ののか 10/12/20(月) 17:37 質問
【67640】Re:AとBを比べて一致したら返す UO3 10/12/20(月) 20:28 回答
【67651】Re:AとBを比べて一致したら返す ののか 10/12/21(火) 9:36 お礼
【67657】Re:AとBを比べて一致したら返す UO3 10/12/21(火) 16:24 回答
【67658】Re:AとBを比べて一致したら返す ののか 10/12/21(火) 16:43 お礼
【67652】Re:AとBを比べて一致したら返す Hirofumi 10/12/21(火) 9:40 回答
【67653】Re:AとBを比べて一致したら返す ののか 10/12/21(火) 10:07 お礼

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