Option Explicit
Sub Test()
Dim Brr, Crr, Y, i&, T$
'↑宣告變數:(Brr,Crr,Y)是通用型變數,i是長整數,T是字串變數
Set Y = CreateObject("Scripting.Dictionary")
'↑令Y這通用型變數是 字典
Brr = Sheets(1).UsedRange
'↑令Brr這通用型變數是二維陣列 以索引號1的工作表有使用儲存格值帶入
Crr = Sheets(2).UsedRange
'↑令Crr這通用型變數是二維陣列 以索引號2的工作表有使用儲存格值帶入
For i = 2 To UBound(Crr): Y(Trim(Crr(i, 1))) = i: Next
'↑設順迴圈!i從2到 Crr陣列縱向最大索引列號,
'令i迴圈列第1欄Crr陣列值去除前後空白字元當key,Item是 迴圈數i(列號)納入Y字典
For i = 2 To UBound(Brr)
'↑設順迴圈!i從2到 Brr陣列縱向最大索引列號
T = Trim(Brr(i, 1))
'↑令T這字串變數是 i迴圈列第1欄Brr陣列值去除前後空白字元的新字串
If Y.Exists(T) Then
'↑如果以T變數 查Y字典裡有這key ?
Brr(i, 3) = Crr(Y(T), 3): Brr(i, 4) = Crr(Y(T), 2)
'↑令i迴圈列第3欄Brr陣列值是 Y(T)列第3欄Crr陣列值
'Y(T)是 T變數查Y字典回傳item值
'↑令i迴圈列第4欄Brr陣列值是 Y(T)列第2欄Crr陣列值
End If
Next
Sheets(1).[G1].Resize(UBound(Brr), 4) = Brr
'↑令索引號1的工作表從 [G1]開始擴展向下 Brr陣列縱向最大索引列號數列,
'向右擴展 4欄,這擴展範圍的儲存格以Brr陣列值帶入
Set Y = Nothing: Erase Brr, Crr
'↑令釋放變數
End Sub