无法设置范围类运行时错误'1003'的隐藏属性

Zai*_*oum 5 excel vba excel-vba

我在这个模块中有代码:

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
Run Code Online (Sandbox Code Playgroud)

我有一个按钮,可以使用以下代码将我重定向到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
Run Code Online (Sandbox Code Playgroud)

问题是当用户按下带有第二个代码的按钮我遇到错误而我不知道为什么.

错误:

Unable to set the hidden property of the range class run time error '1003'
Run Code Online (Sandbox Code Playgroud)

Sid*_*out 12

两件事情

1)您尚未完全确定您的射程.我知道您正在重定向,但这更安全.

Columns("S:AA").EntireColumn.Hidden = True
Run Code Online (Sandbox Code Playgroud)

将其更改为

ThisWorkbook.Sheets("SSSSSS").Columns("S:AA").EntireColumn.Hidden = True
Run Code Online (Sandbox Code Playgroud)

2)我相信您的工作表受到保护.你必须取消保护它.你可以这样做

ThisWorkbook.Sheets("SSSSSS").Unprotect "myPassword"
Run Code Online (Sandbox Code Playgroud)

  • 谢谢 Siddharth,我还可以强调您必须指定 .EntireColumn/Row- 尽管这不是 OP 的问题,而且在您的答案中,但肯定有很多像我这样的人直接从 google 寻找此回复 (2认同)