因此,我被指控提出一个Excel程序,该程序可以在满足不同条件的情况下隐藏行。为了描述数据的类型:
A栏,第2行:公司名称
第W栏,第3-7行:交易金额
第十栏,第7行:交易和
我需要隐藏所有的公司,其交易总额不超过600或以上。如果他们总共做了600或更多,我需要所有的交易保持可见,以及公司名称和总数。很少有公司共享相同数量的事务,所以我最初将其设置为检查公司名称行中的空单元格。我这里没有密码,因为它在我的工作计算机(显然,这是让我疯狂的现在)。就像这样:
Sub Totals()
lastrow = Cells(Rows.Count, "W").End(xlUp).Row
FirstRow = 2
TempTotal = 0
For x = FirstRow To lastrow + 1
If Cells(x, "W") <> "" Then
TempTotal = TempTotal + Cells(x, "W")
Else: Cells(x - 1, "X") = TempTotal
TempTotal = 0
End If
Next x
End Sub我用这个来总结交易。我希望能够使用嵌套的If语句打印事务和总计,如果它们小于600,则将相关行隐藏在相同的代码中。我只是不知道怎么具体说明整个部分..。任何帮助都将不胜感激!
发布于 2021-01-18 08:29:52
以下代码将指定整个部分,并隐藏总数小于600的公司的所有相关行公司名称(Col A)、交易(Col W)和总计(Col X)。总计为>= 600的公司将依然可见。
Option Explicit
Sub HideBelow600()
Dim LastRow As Long, topRow As Long, bottomRow As Long, i As Long
Dim ws As Worksheet: Set ws = ActiveSheet
LastRow = ws.Cells(Rows.Count, 24).End(xlUp).Row
For i = LastRow To 2 Step -1
If ws.Cells(i, 24).Value < 600 And ws.Cells(i, 24) <> "" Then
bottomRow = i
topRow = ws.Cells(i, 24).Offset(0, -1).End(xlUp).Row - 1
ws.Range(Sheet3.Cells(topRow, 24), ws.Cells(bottomRow, 24)).EntireRow.Hidden = True
End If
Next i
End Subhttps://stackoverflow.com/questions/65768665
复制相似问题