VBA代码隐藏单元格值使用button
我目前使用的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
但问题是我无法保护我的纸张并使其工作,因为我无法隐藏/取消隐藏受保护纸张上的列
有没有任何代码只隐藏/取消隐藏单元格值 也可以用白色给数值着色,按下button使其变黑
掩蔽:
select一个有密码的列。 将列的格式更改为;;;**
密码将显示为******
或empty spaces
(如果密码只有数字)
白色着色:
select具有密码的列,将字体颜色更改为“ white
”(或与单元格背景同步的颜色)
不要select列:
您可以通过不允许用户select该特定列来制作一个窍门
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 3 Then Target.Offset(0, -1).Select End Sub
以上几行呢?
当用户select第column 3
的单元格时,用户select将更改为第column 2
通过button隐藏/显示列
创build两个button/形状并点击即可分配macros,如下所示:
Sub RoundedRectangle2_Click() Worksheets("Sheet1").Columns("B").Hidden = True End Sub
Sub RoundedRectangle1_Click() Worksheets("Sheet1").Columns("B").Hidden = False End Sub
现在,如果要保护表单,则应启用format column
。 (如Mrig解释)
但问题是我无法保护我的纸张并使其工作,因为我无法隐藏/取消隐藏受保护纸张上的列
您可以。 最简单的方法是使用UserInterfaceOnly:=True
保护工作表
Sheet1.Protect Password:="abc", UserInterfaceOnly:=True
现在,您可以隐藏/取消隐藏受保护表格中的列
Sheet1.Columns(3).EntireColumn.Hidden = True
select保护页时,请按照下图所示select格式栏 。
否则你可以写:
Sheet1.Protect Password:="your_password", AllowFormattingColumns:=True
然后运行你的代码,隐藏/取消隐藏应该现在工作。