使用VBA编程是可以实现的,大概的制作思路如下:
1、添加一个代码模块,并编写一个公用过程,用于隐藏所有工作表。
- Sub hideSheets()
- On Error Resume Next
- Application.ScreenUpdating = False
-
- Dim indexName As String '定义一个默认显示的主界面
- indexName = "主界面"
- ThisWorkbook.Sheets(indexName).Visible = xlSheetVisible
-
- Dim temSheet As Worksheet
- For Each temSheet In ThisWorkbook.Worksheets
- If temSheet.Name <> indexName Then
- temSheet.Visible = xlSheetVeryHidden
- End If
- Next
- Set temSheet = Nothing
-
- ThisWorkbook.Sheets(indexName).Select
- Application.ScreenUpdating = True
- End Sub
复制代码
2、在“工作薄打开、工作薄关闭”两个事件中,调用隐藏工作表的过程。
- Private Sub Workbook_Open()
- Call hideSheets
- End Sub
- Private Sub Workbook_BeforeClose(Cancel As Boolean)
- Call hideSheets
- End Sub
复制代码
3、制作登录窗体与相关过程,根据登录成功的账号显示指定工作表。
此处代码,根据自己的需求编写,其中显示工作表的代码像这样:
- ThisWorkbook.Sheets("要显示的工作表名称").Visible = xlSheetVisible
复制代码 |