【问题标题】:Using an Autofilter function for multiple criteria with cases对带有案例的多个条件使用自动筛选功能
【发布时间】:2017-12-14 03:39:12
【问题描述】:

我有一张工作表,我想在其中过滤 T 和 U 列中的空白行。 我有某些情况需要考虑。

我有很少的缺失行,并在 S 列中将它们表示为缺失。如果它们缺失,我不希望它们被考虑用于过滤条件。在默认情况下,它们是空白的。

另一种情况是,T 列和 U 列中的任何一行都是空白的,必须进行过滤。如果两列都是空白,则它们也必须被过滤。

我附上了两张图片以供参考。谁能建议我怎么做?我是 VBA 的初学者,任何线索都会有所帮助。

Sub FC()
Dim ws As Worksheet

Set ws = Sheets("FC")

With ws
.Range("A5:T1000").autofilter Field:=20, Criteria1:="=", Operator:=xlFilterValues
End With
End Sub

我尝试了上面的代码,它适用于 T 列。 如何包含多个条件?因为在我的案例中,缺少 S 列,我不需要考虑完整的行。而我的 T 和 U 都是空白或任何一个都是空白的,那么我需要将它们过滤掉。

这就是我的工作表一开始的样子。

我想要一个代码,这样,我想用空白行过滤列 T 和 S,发现列 T 和 U 中的任何行都是空白的, 那么我想过滤它们。

【问题讨论】:

  • 有人可以帮忙写这篇文章吗?
  • 您可以创建一个临时列,用与您的条件匹配的公式填充它并对其进行自动过滤。
  • @A.S.H 我想在 VBA 中使用。有没有办法可以帮助我处理公式,然后我可以用 VBA 转换它们?
  • 好的,请在下面查看我的答案。

标签: vba excel


【解决方案1】:

好的,以下是使用帮助列实现自定义过滤的方法。让我们为这个任务采取专栏Z

Sub FC()
  With Sheets("FC").Range("Z5:Z100")
    .EntireColumn.Hidden = True  ' <-- optional, to hide the temp column
    .Formula = "=AND(S5<>""Missing"",OR(ISBLANK(T5),ISBLANK(U5)))"
    .AutoFilter 1, True
  End With
End Sub

【讨论】:

    猜你喜欢
    • 2020-05-25
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    相关资源
    最近更新 更多