Dim?d?As?Object
Dim?ir,?i
Set?d?=?CreateObject("scripting.dictionary")?'創建字典
Application.ScreenUpdating?=?False?'關閉刷屏(作用主要是提高效率)
On?Error?Resume?Next?'有錯誤跳過Sheets("sheet1").Select?'選擇名為sheet1的表
ir?=?Range("b65536").End(xlUp).Row?'sheet1中B列有數據的最後壹行的行號賦給變量ir
For?i?=?2?To?ir
d(Cells(i,?2).Value?&?"")?=?Range(Cells(i,?3),?Cells(i,?8))?'將從第二行開始的B列,C-H列數據裝入字典,其中B列值為主鍵不重復Next
Sheets("sheet2").Select?'選擇名為sheet2的表
ir?=?Range("b65536").End(xlUp).Row?'sheet2中B列有數據的最後壹行的行號賦給變量ir
For?i?=?3?To?ir
Range(Cells(i,?3),?Cells(i,?8))?=?d(Cells(i,?2).Value?&?"")?'從第三行開始sheet2中B列的值如有和字典d中的主鍵值相同的情況時,將主鍵對應的值賦給C-H列
Next
Application.ScreenUpdating?=?True?'打開刷屏
End?Sub