更新时间:2023-11-30 19:44:10
Sub Test()
Dim rw As Range, rwDest As Range, cellSrc As Range
Dim colDesc As Long, f As Range
colDesc = 0
'see if we can find the "description" column header
Set f = Sheet1.Rows(1).Find(what:="Description", LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then colDesc = f.Column
Set rw = Sheet1.Rows(2)
Do While Len(rw.Cells(, "E").Value) > 0
Set cellSrc = rw.Cells(, "G")
Do While Len(cellSrc.Value) > 0 And _
UCase(Sheet1.Rows(1).Cells(cellSrc.Column).Value) Like "*SOURCE*"
Set rwDest = Sheet2.Cells(Rows.Count, "E").End(xlUp). _
Offset(1, 0).EntireRow
rw.Cells(1).Resize(1, 6).Copy rwDest.Cells(1)
cellSrc.Resize(1, 2).Copy rwDest.Cells(7)
If colDesc > 0 Then rw.Cells(colDesc).Copy rwDest.Cells(9)
Set cellSrc = cellSrc.Offset(0, 2)
Loop
Set rw = rw.Offset(1, 0)
Loop
End Sub