Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在列中搜索单词,然后复制行_Excel_Copy - Fatal编程技术网

Excel 在列中搜索单词,然后复制行

Excel 在列中搜索单词,然后复制行,excel,copy,Excel,Copy,我有两个选项卡-全部选项卡和CATA选项卡 “所有”选项卡包含所有数据(源) CATA选项卡是必须粘贴特定行的目标选项卡 问题: 我要逐个搜索所有行 然后从“源”选项卡中复制行,其中列I包含CATA word 然后将该行粘贴到目标选项卡 第I列的示例数据: "USTA;#CATA;#INTA;#Non-TA" "USTA;#INTA;#Non-TA" 如果匹配的行数未知,并且您不希望中间有空白行,这将生成包含a列中短语“CATA”的行子集 这是单元格A2的公式,可以根据需要向下拖动: =I

我有两个选项卡-全部选项卡和CATA选项卡

“所有”选项卡包含所有数据(源)
CATA选项卡是必须粘贴特定行的目标选项卡

问题:

  • 我要逐个搜索所有行
  • 然后从“源”选项卡中复制行,其中列I包含CATA word
  • 然后将该行粘贴到目标选项卡
第I列的示例数据:

"USTA;#CATA;#INTA;#Non-TA"
"USTA;#INTA;#Non-TA"

如果匹配的行数未知,并且您不希望中间有空白行,这将生成包含a列中短语“CATA”的行子集

这是单元格A2的公式,可以根据需要向下拖动:

=IFERROR(
  INDEX(ALL!A:A,
    SMALL(
      IF(
        NOT(ISERROR(FIND("CATA",ALL!A:A))),
        ROW(ALL!A:A)),
      ROW()-ROW($A$1))),"")
必须使用CTRL+SHIFT+ENTER组合键输入

一旦找到所有可能的CATA行,它将显示一个空行

对于B列,它仅更改两个引用(A:A变为B:B):


您可以为需要传输的任意多个列复制此操作。不要忘记在第2行开始输入它,在将它向下拖动到列之前,请确保使用CTRL+SHIFT+enter输入第一个。我建议使用如下所述的方法:

  • 在整个表中插入一个过滤器,在
    文本
    包含的
    的第I列中插入过滤器,并在输入框中键入“CATA”

  • 复制除A列以外的所有内容,然后粘贴到选项卡
    CATA


  • 上面的解决方案都不起作用,我已经粘贴了我正在使用的代码,你能帮我插入逻辑“在列I中搜索CATA”,如果它找到了,那么就“复制行”,然后粘贴到CATA工作表中。我现在使用rite的代码:Sub Entity()Dim r作为范围,c作为范围工作表(“CATA”)。Cells.Clear With worksheet(“all”)设置r=Range(.Range(“K2”),.Range(“K2”).End(xlDown)),如果是工作表函数,则设置r=Range(.Range”(“K2”),.Range(“K2”).End(xlDown))。如果是工作表函数,则设置范围(.Cells(c.Row,“A”),.Cells(Rows.Count,“A”)。End(xlUp)。偏移量(1,0).PasteSpecial End With nextc:Next c End With Application.CutCopyMode=False EndSub@user2805208您应该编辑您的问题以包含该代码。此外,代码仅在K列中查找数字。是否要将该搜索替换为第I列中对
    *CATA*
    的搜索?还是要调整代码以匹配这两个条件(K列中的数字和I列中的
    *CATA*
    ?无论哪种方式,请更新并澄清您的问题
    CATA
    关键字是否仅在第一列?在这种情况下,你就不能在I列中筛选
    *CATA*
    ,然后进行复制/粘贴吗?@tigeravatar出于某种原因,我想我根本没有看到问题中的
    I
    ,并且认为关键字可以在表中的任何列中。。。。。。。。。
    =IFERROR(
      INDEX(ALL!B:B,
        SMALL(
          IF(
            NOT(ISERROR(FIND("CATA",ALL!A:A))),
            ROW(ALL!B:B)),
          ROW()-ROW($A$1))),"")