如果行包含基于一系列数字的特定值,则将一行从一个工作表复制到另一个工作表

时间:2017-04-27 17:05:26

标签: excel vba range copy-paste

如果行包含特定值,我想复制并粘贴一行。但是,我有约。我需要获得的超过100.000的2500个值(复制并粘贴到单独的行中)。因此,是否有可能创建一个允许我创建循环或某种类型的VBA,我可以在其中指定这些值?

E.g。而不是

For Each cell In Sheets(1).Range("A:A")
If cell.Value = "1" Then
    matchRow = cell.Row
    Rows(matchRow & ":" & matchRow).Select
    Selection.Copy

    Sheets("Sheet2").Select
    ActiveSheet.Rows(matchRow).Select
    ActiveSheet.Paste
    Sheets("Sheet1").Select
End If

我需要:

For Each cell In Sheets(1).Range("A:A")
If cell.Value = "1 OR 3 OR 5 OR 10 OR 15, etc." Then
    matchRow = cell.Row
    Rows(matchRow & ":" & matchRow).Select
    Selection.Copy

    Sheets("Sheet2").Select
    ActiveSheet.Rows(matchRow).Select
    ActiveSheet.Paste
    Sheets("Sheet1").Select
End If

我是VBA的新手,非常感谢任何帮助......

最佳,

莉莎

1 个答案:

答案 0 :(得分:0)

使用选择案例:

For Each cell In Sheets(1).Range("A:A")
Select Case cell.Value 
  Case "1","3","5","10","15"
    matchRow = cell.Row
    Sheets("Sheet1").Rows(matchRow).Copy  Sheets("Sheet2").Rows(matchRow)
End Select