2017-09-26 217 views
0

我正在爲我的部門創建一個holidayplanner。我們約有150人,分9組。我想創建一個按鈕來過濾每個組的成員。Excel VBA顯示特定行

目前我使用此代碼:

Sub IFK02einblenden() 

    Application.ScreenUpdating = False 

    ActiveSheet.Rows(8).Hidden = True 
    ActiveSheet.Rows(9).Hidden = False 
    ActiveSheet.Rows(10).Hidden = True 
    ActiveSheet.Rows(11).Hidden = True 
    ActiveSheet.Rows(12).Hidden = False 
    ActiveSheet.Rows(13).Hidden = False 
    ActiveSheet.Rows(14).Hidden = False 
    ActiveSheet.Rows(15).Hidden = True 
    ActiveSheet.Rows(16).Hidden = True 
    //and so on and so on till row 158 

    Application.ScreenUpdating = True 

End Sub 

隨着9個模塊這樣的宏的表現也很差。

你有想法用範圍屬性或其他方法來優化它嗎?

在點擊按鈕「組中的一個」一組的成員應顯示像「給我行8和行12-38」

+1

你不能使用AutoFilter? – Zac

+0

你用什麼標準來隱藏一行? – sktneer

+0

不是每個人都必須每次都使用過濾器,而不是點擊一個按鈕。有很多邏輯和計算被導出到其他Excel文件。 –

回答

0

如果你不想使用過濾器和任何其他替代那麼請嘗試像這樣

Sub GroupOne() 
    ActiveSheet.Rows("8:8").EntireRow.Hidden = False 
    ActiveSheet.Rows("12:38").EntireRow.Hidden = False 
    End Sub