查找文字并复制到其他工作表

时间:2015-11-27 04:53:42

标签: excel vba excel-vba

我有一个已导入Excel的日志文件,我根据条件筛选了Col C.现在我想通过Col E搜索“TRUE”。对于每个“TRUE”实例,我想在Col D,E上面选择它的行,直到我在Col E中找到一个空单元格,复制它们并将其粘贴到同一工作簿中的新工作表中。

enter image description here

根据上图,我想在工作表1中复制第9行至第1行并将第20行复制到第10行(因为Col E为FALSE)并在工作表2中复制第31行至第21行。

1 个答案:

答案 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