如何在单独的工作表中仅显示基于 Excel 中满足特定条件的一列数据行?原始数据表中至少有 15 列和 240 行,如果该行中的一个单元格满足条件,我需要显示整行数据。
答案1
我不是 VB 爱好者,我不明白 DeltaHotel 的答案,所以我会在目标表上使用 IF 语句强行执行。一旦我让一个单元格工作,我就会将其复制到行和列中的每个单元格。
您可以参考原始表上的单元格并认真使用相对/绝对格式来获得正确结果。
如果你理解了 VB,它会更加优雅。
答案2
您可以使用数据过滤器选项(筛选从数据使用功能区 (ribbon) 来限制源工作表的范围,然后将整个工作表复制到目标工作表。如果要实现自动化,可以将其包装在一个小的 VBA 模块中,该模块可以动态创建(或清除)目标工作表。
类似下面的代码:
' clear the target sheet Sheets("Target Sheet").Select Cells.Select Selection.ClearContents Range("A1").Select ' go to source sheet Sheets("Source Sheet").Select ' filter as needed ActiveSheet.Range("$A$1:$O$500").AutoFilter Field:=4, Criteria1:="=100", _ Operator:=xlOr, Criteria2:="=200" ' copy filtered rows to target Cells.Select Selection.Copy Sheets("Target Sheet").Select ActiveSheet.Paste Range("A1").Select Sheets("Source Sheet").Select Application.CutCopyMode = False Range("A1").Select ActiveSheet.Range("$A$1:$O$500").AutoFilter Field:=4
将该代码放入模块中,然后您可以从开发人员功能区(宏)运行该代码,或者如果需要,可以将其分配给功能区或快速访问工具栏上的按钮。