如何隐藏值不等于1,31,61,91等的行序列

时间:2018-10-15 10:59:57

标签: excel vba excel-vba excel-formula

我想隐藏除具有价位1,31,61,91,121等的行以外的所有行

我的行值已排序并从1递增到29160

1 个答案:

答案 0 :(得分:0)

更新代码,我想念您的问题(您想要的除外)。对于非常大的数据集,由于工作表的重新计算,工作簿应用筛选可能会很慢。此VBA代码会隐藏所有列,然后每30行显示一次,希望可以轻松地针对您的目的进行修改。

VBA代码:

Sub Hide_Every_nth_Row()
Dim n As Integer

Range("1:29160").EntireRow.Hidden = True 'Hide all rows from row 1 to 29160

For n = 1 To 29160 Step 30 'start from row 1 and loop to row 29160. After every loop it jump 30 rows.
Range(Cells(n, 1), Cells(n, 1)).EntireRow.Hidden = False 'Show the nth Row set as "Step". It check the nth row and Column A (A = 1), but since you show the whole row, the column doesn't matter :)
Next n
End Sub

n = 1:从哪一行开始。

To 29160:您的最后一行是哪个。

Step 30:每次循环要跳多少步,从第“ n”个值开始。

EntireRow.Hidden = False:显示行。将其设置为True以隐藏每一行。