在Excel論壇的幫助下,我創建了一個用戶登錄表單,我有5個用戶。每個用戶只能訪問分配給他/她的工作表。這工作正常。但現在我保護了「工作簿結構」,以避免用戶添加/刪除工作表。然後我登錄一次,而不是顯示登錄表單,錯誤信息在Excel VBA中彈出:Excel中的錯誤-1004 VBA-無法設置工作表類的可視屬性
錯誤-1004無法設置工作表類
當我調試的Visible屬性在工作表的可見屬性設置爲「True」,「False」或「xlSheetVeryHidden」的以下代碼中突出顯示該錯誤。
Private Sub Workbook_Open()
Dim wsSht As Worksheet
Worksheets("Splash").Visible = True
Worksheets("Users").Visible = False
For Each wsSht In Worksheets
If Not wsSht.Name = "Splash" Then wsSht.Visible = xlSheetVeryHidden
Next wsSht
With Worksheets("Splash")
.Visible = True
.Activate
End With
frmLogin.Show
bBkIsClose = False
End Sub
有沒有辦法解決這個問題,因爲我可以像密碼保護「工作簿結構」那樣訪問登錄表單?
@Tiago ....我正在做一個For-Each循環使用ActiveWorkbook來獲取牀單,我仍然得到這個錯誤。最初我無法訪問Visible屬性,但現在得到這個。有任何指針? (FYI - Excel 2007) – GoldBishop 2012-04-25 19:04:18
@GoldBishop,嘗試在if子句之前添加一個'debug.print wsSht.Name'(打印循環表)。打開調試窗口(ctrl + G),看看打印的紙張名稱是否正確。 – 2012-04-25 22:47:27