Excel 如果一行包含基于数字范围的特定值,则将该行从一张图纸复制到另一张图纸

Excel 如果一行包含基于数字范围的特定值,则将该行从一张图纸复制到另一张图纸,excel,vba,range,copy-paste,Excel,Vba,Range,Copy Paste,如果某行包含某个值,我想复制并粘贴该行。但是,我需要获得100.000中的大约2500个值(复制并粘贴到单独的行中)。因此,是否有可能创建一个VBA,允许我创建一个循环或某种排序,在那里我可以指定这些值 例如代替 For Each cell In Sheets(1).Range("A:A") If cell.Value = "1" Then matchRow = cell.Row Rows(matchRow & ":" & matchRow).Select

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

例如代替

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新手,非常感谢您的帮助

最好的

Lisa

使用选择案例:

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
不要使用
范围(“A:A”)
使用较小的范围。我猜您没有使用A列中的每个单元格。