【问题标题】:Setting Sheets Visibility in Excel from VBA通过 VBA 在 Excel 中设置工作表可见性
【发布时间】:2016-03-15 21:49:47
【问题描述】:

在工作簿中,我有名为 AAABBBCCC 等的工作表。

在“主”表中,我要求用户从列表框(单元格 D7)中选择他/她的名字。在单元格 D10 中将显示密码。当密码正确时,只有名称为单元格 D7 的工作表应该可见。所有其他工作表都应保留/隐藏。

我有以下,但我无法让它工作。

'按钮 2 取消隐藏工作表的代码:

Sub ViewSheet2()
   pword = Application.InputBox("Type your password", "PASSWORD REQUIRED")
   If pword = Range("D10").Value Then
         Sheets(Range("D7")).Visible = True
   End If
End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    直接使用Cell引用其中的Value

    Sheets(Cells(7, 4).Value).Visible = True
    

    或者如果你想坚持一个范围

    Sheets(Range("D7").Value).Visible = True
    

    【讨论】:

      【解决方案2】:

      已编辑

      试试这个

      Sub ViewSheet2()
      Dim ws As Worksheet
      Set ws = ActiveSheet
      Dim PWORD As String
      pword1 = ws.Range("D7")
      PWORD = Application.InputBox("Type your password", "PASSWORD REQUIRED")
      If PWORD = ws.Range("D10").value Then
      Sheets(Format(pword1)).Visible = True
      else
      MsgBox "Incorrect Password"
      Exit Sub
      End If
      End Sub
      

      【讨论】:

      • 我建议使用 Sheets(Format(pword1)).Visible = xlSheetVisibleSheets(Format(pword1)).Visible = xlSheetVeryHidden - 非常隐藏只能通过 VBA 而不是菜单命令可见。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      相关资源
      最近更新 更多