隐藏excel VBA中的行
我正在尝试使用VBA隐藏行。 我有我必须开始隐藏行的起始行。 我写了下面的代码:
sht.Rows(32 + end_row).Resize(, 65536 - (32 + end_row)).Select Selection.EntireRow.Hidden = True
其中end_row
是数据填充到我的Excel表中的行, 32
是数据将从其开始填充的行的索引。 当我试图运行这个代码,它会给出一个错误,
应用程序定义的或对象定义的错误
我如何解决这个问题,最好的办法是什么?
在这个声明中。
Resize(, 65536 - (32 + end_row)).Select
你混合了行和列
你可能是指Resize(65536 - (32 + end_row)).Select
Resize([Rows],[Columns])
写这样的东西好多了(避免使用Select
)
Sheet1.Rows.Resize(65536 - (32 + end_row)).EntireRow.Hidden = True
该代码隐藏了工作表顶部的所有行,并使工作表底部的行保持可见。 我假设你想要这样做。
这段代码可能有帮助。 它将隐藏A列中最后一个条目下的所有空白行
Dim sht As Worksheet Set sht = Sheet1 sht.Range(sht.Cells(sht.Rows.Count, 1), sht.Cells(sht.Rows.Count, 1).End(xlUp).Offset(1)).Rows.Hidden = True
另一种方式可能是:
'Expected sht is a sheet object, else use : ActiveSheet.Rows("32:" & end_row).Hidden = True sht.Rows("32:" & end_row).Hidden = True
避免使用65535限制