我是宏的新手,希望有人能帮我尝试从满足某些条件的数据表中制作报告。我需要获取一行中的所有数据(单元格),例如满足条件 <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 中的下一个空闲行。