我有一个已导入Excel的日志文件,我根据条件筛选了Col C.现在我想通过Col E搜索“TRUE”。对于每个“TRUE”实例,我想在Col D,E上面选择它的行,直到我在Col E中找到一个空单元格,复制它们并将其粘贴到同一工作簿中的新工作表中。
根据上图,我想在工作表1中复制第9行至第1行并将第20行复制到第10行(因为Col E为FALSE)并在工作表2中复制第31行至第21行。
答案 0 :(得分:1)
您可以使用.areas
如果您没有VBA经验并且不知道该寻找什么,这是一个艰难的。这是一个先机,根据你提供的图片,我想出了这个。
Sub DoIt()
Dim sh As Worksheet, ws As Worksheet
Dim RangeArea As Range, c As Range
Set sh = ActiveSheet
Application.ScreenUpdating = 0
With sh
For Each RangeArea In .Columns("E").SpecialCells(xlCellTypeConstants, 23).Areas
Set c = RangeArea.Find(what:="TRUE", lookat:=xlWhole)
If Not c Is Nothing Then
RangeArea.EntireRow.Copy
Sheets.Add
ActiveSheet.Paste
Else
End If
.Select
Next RangeArea
End With
Application.CutCopyMode = 0
End Sub