如何将包含特定文本的单元格复制到另一个工作表

时间:2018-05-04 14:29:32

标签: excel vba excel-vba

我正在尝试将符合特定条件的单元格复制到新工作表中。

例如,如果工作表(1)上的单元格H15包含请求的值( 1234 ),则只将单元格A15,B15,C15,F15和包含文本字符串的单元格复制到新行在一个新的工作表上?

我希望能够扫描范围,例如M1:X155,并且对于每个找到的值( 1234 ),将上述单元格复制到新工作表。

1 个答案:

答案 0 :(得分:1)

根据评论,我修改了代码以仅复制指定的范围,两个表格都应该存在,代码不会为您创建第二个工作表:

Sub Test()
Dim Cell As Range

With Sheets("Sheet1") 'Sheet with data to check for value
    ' loop column H untill last cell with value (not entire column)
    For Each Cell In .Range("H1:H" & .Cells(.Rows.Count, "H").End(xlUp).Row)
        pos = InStr(Cell.Value, "1234")
        If pos > 0 Then
            NextFreeRow = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A").End(xlUp).Row + 1
             'get the next empty row to paste data to
            .Range("A" & Cell.Row & ",B" & Cell.Row & ",C" & Cell.Row & ",F" & Cell.Row & "," & Cell.Address).Copy Destination:=Sheets("Sheet2").Range("A" & NextFreeRow)
        End If
    Next Cell
End With
End Sub

<强>更新

下面的代码将在H列的每个单元格内搜索文本“1234”,如果找到则会复制您想要的范围。

scale_shape_manual(values = c("A" = 4, "B" = 6, "C" = ""))