2012-09-05 32 views
3

的隱藏屬性我有這樣的代碼模塊中:無法設置範圍類的運行時錯誤「1003」

Sub HideSalTable() 

User = Worksheets("log").Range("R1").Value 
If User = ThisWorkbook.Worksheets("SSSSSS").Range("za1").Value Then 
Columns("S:AA").EntireColumn.Hidden = True 

ElseIf User = ThisWorkbook.Worksheets("SSSSSS").Range("za3").Value Then 
Columns("S:AA").EntireColumn.Hidden = False 

ElseIf User = ThisWorkbook.Worksheets("SSSSSS").Range("za4").Value Then 
Columns("S:AA").EntireColumn.Hidden = False 

End If 

End Sub 

我有一個按鈕,我重定向到ThisWorkbook.Worksheets(「SSSSSS」)與此代碼:

Private Sub Change_SSSSSS_Button_Click() 

Dim pass1 As String 
    Dim pass2 As String 
    pass1 = ThisWorkbook.Worksheets("SSSSSS").Range("za3").Value 
    pass2 = ThisWorkbook.Worksheets("SSSSSS").Range("za4").Value 
    Dim Inp 
    Dim lTries As Long 



    lTries = 1 
    Do 
     Inp = InputBoxDK("enter password", "Zmhnk") 
     If Inp = "" Or Inp = vbCancel Then Exit Sub   '* Cancel button pressed or nothing entered 
     If Inp = (pass1) Or Inp = (pass2) Then 
      Exit Do 
     End If 
     lTries = lTries + 1 
     If lTries > 4 Then 
      MsgBox "Error", vbInformation, "Zmhnk" 
      Exit Sub 
     Else 
      If MsgBox("try again", vbYesNo, "error_Zmhnk") = vbNo Then Exit Sub 
     End If 
    Loop 

Application.ScreenUpdating = False 

Sheets("SSSSSS").Visible = True 
Sheets("SSSSSS").Activate 

Application.ScreenUpdating = True 

End Sub 

問題是當用戶按下第二個代碼的按鈕我面臨一個錯誤,我不知道爲什麼。

錯誤:

Unable to set the hidden property of the range class run time error '1003' 

回答

10

兩件事情

1)您沒有完全限定的範圍。我知道你正在重定向,但這樣更安全。

Columns("S:AA").EntireColumn.Hidden = True 

將其更改爲

ThisWorkbook.Sheets("SSSSSS").Columns("S:AA").EntireColumn.Hidden = True 

2)我相信你的表受到保護。你必須解除它的保護。你可以做如下

ThisWorkbook.Sheets("SSSSSS").Unprotect "myPassword" 
+1

感謝亞洲時報Siddharth,可我還強調,必須指定.EntireColumn /按行雖然它不是OP的問題,它是在你的答案,必須有充足的球員像我這樣的來自谷歌直接尋找這個迴應 – User632716

相關問題