簡體   English   中英

根據第一個和最后一個單元格的值隱藏行

[英]Hiding Rows Based on Value of First and Last Cell

我有一本工作簿,其中有許多工作表代表項目,這些工作表中有許多選項可以標記這些項目的屬性。 還有一個中央工作表,總結了項目的屬性。

例如,假設我們有2張紙,一張叫貓,一張叫狗。 如果您填寫了相關選項,它將顯示在摘要表中,如下所示(如果您可以想象每行在Excel中都是一行):



名稱:花體


顏色:黑色


腿數:4



名稱:低音揚聲器


顏色:白色


腿數:4


目前,您可以使用帶有某些復選框的“項目選擇”表來選擇哪些項目顯示在最終摘要中。 對於上面的示例,Cat和Dog都將被打勾,如果不是,則不會出現在最終摘要中。

目前,這是通過隱藏Cat摘要將在其上出現的確切行而發生的。 這意味着,如果在其上添加任何其他行,則VBA代碼不會更改,並且會隱藏錯誤的行。

If CatCheckBox.Value = True Then
    'Unhide the rows that the Cat summary is on
    Sheets("Final Summary").Range("A3:A32").EntireRow.Hidden = False
Else
    'Hide the rows that the Cat summary is on
    Sheets("Final Summary").Range("A3:A32").EntireRow.Hidden = True
End If

我想讓VBA代碼動態隱藏Cat摘要。 我想到的想法是在工作表中找到值“ Cat”,另一個值說“ EndCat”,然后將它們隱藏在行之間。 我該怎么辦?

查看命名范圍 您可以命名單元格范圍(使用“公式”->“名稱管理器”)

例如,您可以:將第2至5行命名為CAT名稱,將第6至9行命名為DOG名稱,將第10至13行命名為COW名稱,將第14至17行命名為HAMSTER

現在,第1行上的所有插入都將強制范圍自動重新編號。 假設您在第2行之前插入了5行。CAT現在(自動)在第7至10行,DOG是11至14。

您可以在代碼中參考這些

Sheets("Final Summary").Range("CAT").EntireRow.hidden = false 

但是請注意,不受保護的細胞范圍存在危險。 您可以在上述范圍的中間插入行,這樣會擴大范圍。 例如,如果CAT是第2至5行,則在第3行插入一行將使CAT范圍現在變為2至6。

暫無
暫無

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

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