Sub xfind()
'
' 在本分頁中順序讀取員工編號,
' 於「直式更表」中尋找相關員工。
' 由於是兩欄式更表,故要 find 兩次,
' 找到後,以 offset 取回值然後寫入。
'
' 取得A欄的行數
k = ActiveSheet.Range("A65536").End(xlUp).Row
' 設定迴圈
For i = 1 To k
' 讀取員工編號
ID = Cells(i, "a").Value
'開始 find ,分兩欄取值 c d
With Worksheets("直式更表")
Set c = .Range("F:F").Find(ID, LookIn:=xlValues)
Set d = .Range("H:H").Find(ID, LookIn:=xlValues)
End With
' 如 c 有值則直接寫入
If Not c Is Nothing Then
Cells(i, "H") = c.Offset(, -1)
' 如 c 沒有值,再 find 第二欄,找到則直接寫入
ElseIf Not d Is Nothing Then
Cells(i, "H") = d.Offset(, -3)
Else
' 如仍沒有值,則寫入「找不到」
Cells(i, "H") = "找不到"
End If
Next i
End Sub
沒有留言:
張貼留言