我有一個工作簿,每個工作簿上都有一個名稱(Windows登錄用戶名)。通過VBA隱藏excel工作表
我已經嘗試通過VBA來循環所有工作表,以匹配實際的Windows登錄用戶名與匹配的工作表,並且匹配完成後,只有該工作表保持可見(與所有其他人都是隱藏的)。
我設法做到這一點,但我只能做到它直到它找到匹配的工作表。例如,如果匹配的用戶名是第三個工作表(例如總共爲十個),代碼就停在那裏。我希望它貫穿所有工作表,然後只隱藏不匹配的工作表。
首先我有以下模塊:
Sub WorksheetFilter()
Dim Username As String
Dim Worksheetname As String
Worksheetname = ActiveWorkbook.ActiveSheet.Name
Username = Environ("Username")
If Worksheetname <> Username Then
ActiveSheet.Visible = False
End If
End Sub
然後,我呼籲Workbook_Open()事件之前的模塊:
Option Explicit
Dim WS As Worksheet
Private Sub Workbook_Open()
For Each WS In ActiveWorkbook.Worksheets
WorksheetFilter
Next
End Sub
如何可以做到這一點任何提示?
感謝, 維克托•
是否將您的代碼鏈接到特定的工作表? – FDavidov