小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Excel VBA解讀(72):隱藏工作表——Visible屬性

 L羅樂 2017-08-07

 

我們可以隱藏工作表,讓其對最終用戶不可見。如下圖所示,在工作表標(biāo)簽Sheet1中單擊右鍵,在彈出的菜單中選擇“隱藏”,將工作表Sheet1隱藏。


上述操作由Excel宏錄制器錄制的代碼如下:

Sub Macro1()

'

' Macro1 Macro

' 由完美Excel創(chuàng)建

'

 

'

   Sheets('Sheet1').Select

   ActiveWindow.SelectedSheets.Visible = False

End Sub

 

Visible屬性用于設(shè)置工作表的可見狀態(tài),例如上面操作中設(shè)置工作表Sheet1Visible屬性為False,使其隱藏。接下來,如果運(yùn)行下面的語句:

Sheets('Sheet1').Visible = True

工作表Sheet1將重新可見。

 

Visible屬性也可返回指定工作表的可見狀態(tài)。語句:

Sheets('Sheet1').Visible

返回的值表明工作表的可見狀態(tài)。其返回值是一個xlSheetVisibility常量:

  • -1——xlSheetVisible,代表正??梢姞顟B(tài)

  • 0——xlSheetHidden,代表工作表隱藏狀態(tài),等同于在工作表標(biāo)簽右鍵菜單中選擇“隱藏”命令;隱藏后,可在工作表標(biāo)簽右鍵菜單中選擇“取消隱藏”來使恢復(fù)工作表可見。

  • 2——xlSheetVeryHidden,代表工作表隱藏狀態(tài),此時在工作表標(biāo)簽右鍵菜單中不能取消隱藏。

注意,工作簿中必須至少有一個可見工作表。

可以在VBE編輯器的屬性窗口設(shè)置相應(yīng)工作表的可見狀態(tài),如下圖所示。


當(dāng)然,除本文開頭設(shè)置Visible屬性值為False或者True來使工作表隱藏/可見外,還可以設(shè)置上述常量值來使工作表隱藏或者可見。例如,下面的語句:

Worksheets('Sheet2').Visible = xlSheetVeryHidden

使工作表Sheet2隱藏,并且在Excel界面的工作表標(biāo)簽中單擊右鍵時不能使其恢復(fù)可見。此時,必須在VBE界面設(shè)置該工作表的Visible屬性或者使用代碼設(shè)置Visible屬性使該工作表可見。

 

示例1:統(tǒng)計工作簿中可見工作表數(shù)量

下面的程序?qū)⒔y(tǒng)計工作簿中可見工作表的數(shù)量并顯示:

Sub CountVisibleWorksheets()

    Dim i As Long

    Dim lngNum As Long

   

    lngNum = 0

   

    '遍歷工作表

    For i = 1 To Sheets.Count

        '如果工作表可見則統(tǒng)計

        If Sheets(i).Visible =xlSheetVisible Then

            lngNum = lngNum 1

        End If

    Next

   

    MsgBox '工作簿中可見工作表的數(shù)量是:' & lngNum

End Sub

對于默認(rèn)帶有3個工作表的工作簿,如果使用上文中的代碼將工作表Sheet2隱藏后,統(tǒng)計的可見工作表數(shù)為:


可以將上述代碼轉(zhuǎn)換為通用的函數(shù)過程,供其它過程在需要時調(diào)用:

'統(tǒng)計工作簿中所有可見工作表的數(shù)量

Function VisibleSheetsNum() As Long

    Dim i As Long

    Dim lngNum As Long

   

    lngNum = 0

   

    '遍歷工作表

    For i = 1 To Sheets.Count

        '如果工作表可見則統(tǒng)計

        If Sheets(i).Visible =xlSheetVisible Then

            lngNum = lngNum 1

        End If

    Next

 

    VisibleSheetsNum = lngNum

End Function

 

示例2:隱藏指定的工作表

下面的代碼將隱藏指定的工作表,并指定了隱藏方式。

Sub HideWorksheet(strName As String, blnVeryHidden As Boolean)

    '如果blnVeryHidden值為True,則深度隱藏工作表

    If blnVeryHidden Then

       Worksheets(strName).Visible = xlSheetVeryHidden

    Else

        Worksheets(strName).Visible= xlSheetHidden

    End If

End Sub

下面的語句代碼調(diào)用HideWorksheet過程,隱藏工作表Sheet1

HideWorksheet 'Sheet1', True

在隱藏指定的工作表之前,我們可以使用《Excel VBA解讀(69):工作表名稱——Name屬性》中示例4:檢查工作表是否已存在來檢查指定名稱的工作表是否存在,然后進(jìn)行下一步操作。

 

示例3:使用工作簿中的工作表全部可見

有時,工作簿中有多個隱藏的工作表,可以遍歷工作表,使所有工作表都可見。

下面的代碼取消隱藏工作簿中的所有工作表:

Sub UnhideAllWorksheets()

    Dim ws As Worksheet

   

    For Each ws In Worksheets

        ws.Visible =xlSheetVisible

    Next ws

End Sub


本文屬原創(chuàng)文章,轉(zhuǎn)載請聯(lián)系我(xhdsxfjy@163.com)或者注明出處。

歡迎在下面留言,完善本文內(nèi)容,讓更多的人學(xué)到更完美的知識。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多