Excel - 如何根据条件复制一行中的所有列

Excel - 如何根据条件复制一行中的所有列

我是宏的新手,希望有人能帮我尝试从满足某些条件的数据表中制作报告。我需要获取一行中的所有数据(单元格),例如满足条件 <1 的第 10 列,并将这些单元格/行复制到新工作表。我在 Excel 中找不到任何函数,所以我希望一个不太高级的宏可以解决这个问题,我可以修改它。提前谢谢。

答案1

  • 打开包含所有数据的 Excel 表副本
  • ALT+F11打开 VBA 编辑器
  • 从左侧窗格打开 Sheet1,然后插入以下代码

    Sub mymacro()
      For myrow = 1 To Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        If Cells(myrow, 8) < 1 Then
          i = i + 1
          ActiveWorkbook.Sheets(1).Rows(myrow).Copy Destination:=ActiveWorkbook.Sheets(2).Rows(i)
        End If
      Next myrow
    End Sub
    
  • 返回到你的工作表并按ALT+F8并执行你的宏

此代码将运行直到最后一行,检查第 8 列的值是否 < 1,如果是,则将整行复制到表 2 中的下一个空闲行。

相关内容