VBA代码使用Button隐藏单元格值

时间:2016-04-16 03:51:07

标签: excel vba excel-vba

我目前正在使用以下的VBA代码:

Sub PasswordPointage()
       Dim Password As String
       Do Until Password = "123"
             Password = InputBox("plz enter password","Password","")
        If Password = "" Then
                   Exit Sub
        End If
       Loop
       Columns ("A:B").EntieColumn.Hidden = False
End Sub

但问题是我无法保护我的工作表并使其工作,因为我无法隐藏/取消隐藏受保护工作表上的列

是否有任何代码只能隐藏/取消隐藏Cell值?或者,可以使用白色对值进行着色,并在按下按钮时将其设为黑色

3 个答案:

答案 0 :(得分:4)

  

但问题是我无法保护我的工作表并使其工作,因为我无法隐藏/取消隐藏受保护工作表上的列

你可以。最简单的方法是使用UserInterfaceOnly:=True

保护工作表
Sheet1.Protect Password:="abc", UserInterfaceOnly:=True

现在,您可以隐藏/取消隐藏受保护工作表中的列

Sheet1.Columns(3).EntireColumn.Hidden = True

答案 1 :(得分:2)

掩蔽:

选择具有密码的列。 将列的格式更改为LT_INIT AC_CONFIG_MACRO_DIRS([m4]) format column

密码将显示为;;;********(如果密码只有数字)

白色着色:

选择包含密码的列,将字体颜色更改为“empty spaces”(或与单元格背景同步的颜色)

不允许选择列:

您可以通过不允许用户选择特定列来制作技巧

white

以上行是什么?

当用户选择Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 3 Then Target.Offset(0, -1).Select End Sub 中的单元格时,用户选择将更改为column 3

通过按钮隐藏/显示列

创建两个按钮/形状&即使如下所示,也可以在点击时分配宏:

column 2

Sub RoundedRectangle2_Click()

Worksheets("Sheet1").Columns("B").Hidden = True

End Sub

Show and hide columns via button clicks

现在,如果您想保护工作表,则应启用Sub RoundedRectangle1_Click() Worksheets("Sheet1").Columns("B").Hidden = False End Sub 。 (如Mrig解释)

答案 2 :(得分:1)

选择保护表时,请检查格式化列,如下图所示。

enter image description here

否则你可以写:

Sheet1.Protect Password:="your_password", AllowFormattingColumns:=True

然后运行你的代码,隐藏/取消隐藏现在应该工作。