我想在Visual Basic中编写一个程序,我在其中查看工作表的L列,并在列L中搜索包含“123”的单元格。然后,我想在列L中选择包含“123”的行,复制它们,然后将它们粘贴到新的工作表中。我该怎么做?我创建了一个宏,但我不知道如何更改它,以便我可以找到多个项目并获取这些多个项目的所有行。这是宏给我的部分内容:
Columns("L:L").Select
Selection.Find(What:="123", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Rows("1058:1058").Select
Selection.Copy
Sheets("123").Select
Rows("4:4").Select
range("C4").Activate
Selection.Insert Shift:=xlDown
Rows("5:5").Select
range("C5").Activate
答案 0 :(得分:3)
查找L列中的所有123并将相应的行复制到Sheet2 根据需要调整。
Sub CopyRows()
Dim FoundRange As Range
Dim c As Range
For Each c In Application.Intersect(Columns("L"), UsedRange)
If c.Value like "*123*" Then
If FoundRange Is Nothing Then
Set FoundRange = c
Else
Set FoundRange = Application.Union(FoundRange, c)
End If
End If
Next
If Not FoundRange Is Nothing Then
FoundRange.EntireRow.Copy Worksheets("Sheet2").Range("A4")
End If
End Sub