在本文中,我们将创建一个用于隐藏Excel工作表的宏。

通过使用VBA代码更改其属性可以隐藏Excel工作表。

通过使用Excel应用程序上的取消隐藏按钮,无法使隐藏的Excel工作表可见。

在此示例中,我们创建了登机口登记表。

ArrowRegistration form

当用户在表单中输入详细信息并单击提交按钮时,详细信息将保存在“数据”表中。为“提交”按钮分配了“ SubmittingDetail”宏。

ArrowDataSheet

单击“数据表”按钮可以隐藏或取消隐藏“数据表”。如果“数据”工作表被隐藏,则无法使用Excel工作表中提供的取消隐藏选项使其可见。

ArrowRightClickSheetTab

通过使用“数据表”按钮隐藏的工作表在VBE(Visual Basic编辑器)的项目浏览器中仍然可见,并且隐藏工作表的“工作表”属性设置为xlSheetVeryHidden。

ArrowHiddenSheetPropertyInVBE

在不使用VBA代码的情况下,也可以使工作表非常隐藏。为此,我们必须打开VBE并将属性窗口中工作表的可见属性设置为2 – xlSheetVeryHidden。

ArrowPropertiesWindow

为了隐藏工作表,以便任何人都可以在不知道Vb项目密码的情况下取消隐藏它,只需使用VBA代码隐藏文件或将工作表的visible属性更改为2即xlsheetveryhidden并将Vb项目与密码一起锁定即可。

为了使用密码保护Vb Project,请右键单击Microsoft Excel对象>选择VBAProject属性…>“ VBAProject属性”对话框。

ArrowAssigningPassword

在“ VBAProject属性”对话框中,转到“保护”选项卡>选中用于锁定项目的框>为该项目分配密码。

我们为附件指定的密码是“注册”。可以为该项目分配任何密码。

ArrowSavingVBAPassword

“数据表”按钮用于隐藏和取消隐藏表。

为“数据表”按钮分配了“ ToggleHidingDataSheet”宏。当用户单击按钮时,如果文件被隐藏,则工作表变为可见;如果工作表可见,则工作表被隐藏。

可以通过单击“数据表”按钮或通过使用VBProject的密码将visible属性更改回0(即xlSheetNormal)来使工作表可见。

请遵循以下代码

Sub SubmittingDetail()

Dim LastRow As Long

'Finding the Last row in the "Data" sheet

'where data needs to be inserted

LastRow = Sheets("Data").Range("A1").SpecialCells(xlLastCell).Row + 1

'Inserting data in "Data" sheet

With Sheets("Data")

'Assigning serial number

.Range("A" & LastRow) = LastRow - 1

'Inserting data in "Data" sheet from range F15 to J15

.Range("B" & LastRow & ":F" & LastRow) = Range("F15:J15").Value

End With

'Deleting the cell content in the range

Range("F15:J15").Select

Selection.ClearContents

Range("F15").Select

End Sub

Sub ToggleHidingDataSheet()

'Checking whether sheet is currently hidden

If Sheets("Data").Visible = xlVeryHidden Then

'Code for making the sheet visible

Sheets("Data").Visible = True

Else

'Code for hiding the sheet

Sheets("Data").Visible = xlVeryHidden

End If

End Sub

如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。

我们希望收到您的来信,请让我们知道如何改善我们的工作并为您做得更好。写信给我们[email protected]