簡體   English   中英

在Excel VBA中隱藏行

[英]Hide Rows in excel VBA

我正在嘗試使用VBA隱藏行。 我有一個開始行,從這里我必須開始隱藏行。 我寫了以下代碼:

sht.Rows(32 + end_row).Resize(, 65536 - (32 + end_row)).Select
Selection.EntireRow.Hidden = True

其中end_row是將在excel工作表中填充數據的行til,而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限制

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM