首页 > 解决方案 > 如果 D1>O1 则隐藏行

问题描述

如标题中所述,如果该值高于另一列上的值,我想知道如何隐藏某行。

Dim ws as WorkSheet: Set ws = Sheets("Sheet1")
Dim lr as Long
lr = ws.Cells(Rows.Count, "E").End(xlUp).Row

For each cell in ws.Range(ws.Cells(5, "E"), ws.Cells(lr, "E"))
   If cell = 0 Then
      cell.EntireRow.Hidden = True
   End If
Next cell

这是你们中的一个人为解决我的另一个问题而给我的代码,它是隐藏值为 0 的行(我真的不擅长编程,鉴于我的职位主要是做这样的事情并想知道如何使它更容易。还有其他方法可以做到这一点,但这是一个我至少要理解一点的代码,所以我想保留主框架,我不明白在各个地方发布的其他解决方案,不要不知道如何悲伤地适应它们)

我知道必须有一种方法可以将 de cell = 0 更改为 cell < row 之类的东西...所以如果你们中的一个人可以提供帮助,那就太好了!

标签: vbaexcel

解决方案


我还没有机会测试它,但是像这样的东西?

 Dim ws as WorkSheet: Set ws = Sheets("Sheet1")
    Dim lr as Long
    lr = ws.Cells(Rows.Count, "D").End(xlUp).Row

    For each cell in ws.Range(ws.Cells(5, "D"), ws.Cells(lr, "D"))
       If cell.value > ws.Cells(cell.row, "O").value Then
          cell.EntireRow.Hidden = True
       End If
    Next cell

推荐阅读