如何用VBA实现在多个sheet中进行模糊查询,并将包含关键字的一整行复制至指定位置?
还请高手指点,不胜感激~ 展开
Sub MySearch()
Dim ws(6) As Worksheet
Dim c1 As Range, c2 As Range
Dim r
Set ws(1) = Worksheets("Sheet1") ' 请自行修改为实际的工作表名
Set ws(2) = Worksheets("Sheet2") ' 请自行修改为实际的工作表名
Set ws(3) = Worksheets("Sheet3") ' 请自行修改为实际的工作表名
Set ws(4) = Worksheets("Sheet4") ' 请自行修改为实际的工作表名
Set ws(5) = Worksheets("Sheet5") ' 请自行修改为实际的工作表名
Set ws(6) = Worksheets("Sheet6") ' 请自行修改为实际的工作表名
ws(6).Cells.Clear
Set c2 = ws(6).Range("A1")
For r = 1 To 1000 ' 由于未说明Sheet5中A列关键字的行数,且其中有空行,请自行修改为实际的行数
Set c1 = ws(5).Range("A" & r)
If c1 Like "1*" Then
ws(3).Cells.Find(c1, lookat:=xlWhole).EntireRow.Copy Destination:=c2
ElseIf c1 Like "05*" Then
ws(1).Cells.Find(c1, lookat:=xlWhole).EntireRow.Copy Destination:=c2
ElseIf c1 Like "0*" Then
ws(2).Cells.Find(c1, lookat:=xlWhole).EntireRow.Copy Destination:=c2
ElseIf c1 <> "" Then
ws(4).Cells.Find(c1, lookat:=xlWhole).EntireRow.Copy Destination:=c2
End If
Set c2 = c2.Offset(1, 0)
Next r
End Sub