本人一直學習VBA及爬文, 發現單一VBA問題不大, 但要個功能就墮入困局, 又是考勤表問題, 期望給予協助:
考勤表 20150815.rar (109.15 KB)
從學習書內抄考用了相信是愚蠢的方法, 求教::Q
Sub match2()
'combine id card no and date for searching
Dim srcrange As Range, fndrange As Range
Dim fstaddress As String, i As Integer
Dim fc As Integer
Dim fr As Integer
Dim fr2 As Integer
Worksheets("attendance report").Activate
fc = 12
fr = 4
fr2 = 3
Set srcrange = Worksheets("data").Range("a4").CurrentRegion.Columns(9)
Set fndrange = srcrange.Find(what:=Range(fr, fc) & Range("v" & fr2).Value)
If Not fndrange Is Nothing Then
fstaddress = fndrange.Address
i = 5
Do
Cells(i, 22).Value = fndrange.Offset(, 0).Value
Cells(i + 1, 22).Value = fndrange.Offset(1, 0).Value
Cells(i + 8, 22).Value = fndrange.Offset(2, 0).Value
Cells(i + 9, 22).Value = fndrange.Offset(3, 0).Value
i = 1 + 1
Loop Until findrange.Address = fstaddress
Else
MsgBox "XX"
End If
End Sub |