求写个VB程序vlookup两个条件筛选

img

img

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub
Set d = Sheets("每日巡检记录").Range("B:B").Find(Target)
If Not d Is Nothing Then

On Error Resume Next

Target.Offset(0, 1).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-2])&Trim(RC[-1]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C4:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 2).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-3])&Trim(RC[-2]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C5:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 3).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-4])&Trim(RC[-3]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C5:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 4).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-5])&Trim(RC[-4]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C6:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 5).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-6])&Trim(RC[-5]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C7:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 6).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-7])&Trim(RC[-6]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C8:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 7).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-8])&Trim(RC[-7]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C9:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 8).Select
Selection.FormulaArray = _
"=VLOOKUP(Trim(RC[-9])&Trim(RC[-8]),IF({1,0},Trim(数据库!R4C2:R10000C2)&trim(数据库!R4C3:R10000C3),数据库!R4C10:R10000C4),2,0)"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Target.Offset(0, 9) = Year(Now) & "/" & Month(Now) & "/" & Day(Now) & " " & Hour(Now) & ":" & Minute(Now)
M = "当前时间" & CurrentTime
End If

Set a = Sheets("每日巡检记录").Range("N:N").Find(Target)
If Not a Is Nothing Then
Target.Offset(0, 1).Resize(1, 1) = Year(Now) & "/" & Month(Now) & "/" & Day(Now) & " " & Hour(Now) & ":" & Minute(Now)

' M = "当前时间" & CurrentTime
Target.Offset(0, 4).Resize(1, 1) = Hour(Target.Offset(0, 1) - Target.Offset(0, -3)) * 60 + Minute(Target.Offset(0, 1) - Target.Offset(0, -3))
End If

Set b = Sheets("每日巡检记录").Range("P:P").Find(Target)
If Not b Is Nothing Then
 Target.Offset(0, 1).Resize(1, 1) = Year(Now) & "/" & Month(Now) & "/" & Day(Now) & " " & Hour(Now) & ":" & Minute(Now)
 M = "当前时间" & CurrentTime
  Target.Offset(0, 3).Resize(1, 1) = Hour(Target.Offset(0, 1) - Target.Offset(0, -1)) * 60 + Minute(Target.Offset(0, 1) - Target.Offset(0, -1))
  Target.Offset(0, 4).Resize(1, 1) = Target.Offset(0, 3) / 540

 End If

 Set c = Sheets("每日巡检记录").Range("U:U").Find(Target)
 If Not c Is Nothing Then
 Target.Offset(0, 1).Resize(1, 1) = Year(Now) & "/" & Month(Now) & "/" & Day(Now) & " " & Hour(Now) & ":" & Minute(Now)
 M = "当前时间" & CurrentTime

End If
End Sub