- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Excel 2010,我正在编辑现有的不 protected 工作簿,并在 Worksheet_Change()
中的命令中创建了 EntireColumn.Hidden
和 EntireRow.Hidden
> 当数据验证单元格更改时触发的事件,但它们不起作用。
Private Sub Worksheet_Change(ByVal Target As Range)
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
If Not Intersect(Target, Range("$C$2")) Is Nothing Then
Select Case Target.Value
Case "NO"
MsgBox "You just changed to HIDE" '<= Proves it fires
Range("$C$3").Value = "Invisible" '<= Does change cell
Columns("N:O").EntireColumn.Hidden = True '<= Doesn't hide
Case "YES"
MsgBox "You just changed to UNHIDE" '<= Proves it fires
Range("$C$3").Value = "Visible" '<= Does change cell
Columns("N:O").EntireColumn.Hidden = False '<= Doesn't unhide
End Select
End If
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
该事件正在触发,因为我有 MsgBox
es 来证明它。我可以更改单元格值等,但不能更改列/行的隐藏/取消隐藏。
我已将代码复制到一本新书中,并且它可以工作。所以我把它复制回原来的书里,但作为一张新的空白纸,它就有效了。它在原始的、相当大的工作表中仍然不起作用。
当我将其复制到一个简单的宏中时,它确实按要求工作,隐藏了正确的列,但只需按一下按钮即可:
Sub HideThem()
Columns("N:O").EntireColumn.Hidden = True '<= DOES work
End Sub
我需要它根据单个单元格的值自动更新。我什至尝试从 Worksheet_Change()
事件中调用这个迷你 Sub
,但这也不起作用。
是否存在与其他命令/事件、工作表按钮、图像、合并单元格等的任何已知冲突,这些冲突可能会阻止列/行隐藏?
我尝试使用 CheckBox
而不是 YES/NO
数据验证单元来触发代码(因为这可以接受),但是当我尝试插入ActiveX CheckBox
它说无法插入对象,即使在一本全新的空白书中也是如此。这可能是一个相关的问题吗?
最佳答案
我想您在单元格 C3 中有一个下拉列表,其中包含两个项目,即“可见”和“不可见”。当您将范围 C3 的值从空白/“可见”更改为“不可见”时,以下代码将隐藏 N 列和 O 列。在此操作之前,您必须阅读该消息并单击“确定”。从“不可见”更改为“可见”将向您显示一个消息框。单击“确定”,即可看到隐藏的列自行显现。
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("C3") = "Invisible" Then
MsgBox ("You just changed to HIDE")
Columns(14).Hidden = True
Columns(15).Hidden = True
Else
If Range("C3") = "Visible" Then
MsgBox ("You just changed to UNHIDE")
Columns(14).Hidden = False
Columns(15).Hidden = False
End If
End If
End Sub
关于excel - Worksheet_Change() 中的 EntireColumn.Hidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30725920/
我希望将我的工作簿用户限制在一系列单元格中的 1000 个字符 (Example: A5:A30) . 换句话说,限制 范围内的总字符数。 A5:A30 到 1000 个字符。 当用户填写发送范围超过
我正在尝试创建一些代码来在另一个单元格更改时重置一个单元格。有三个下拉单元格,每个单元格都依赖于它之前的单元格(B3 依赖于 B2,B4 依赖于 B3 和 B2)。 因此,如果有人设置 B4,然后更改
我有一个宏启动并运行,它对数据透视表进行排序,从表中复制一系列单元格,然后将它们粘贴到第二张表中。老实说,就我现在使用 VBA 的情况而言,我对这一壮举感到非常满意。然而,我还有更多想要它做的事情。
我正在尝试根据 H 列中的值自动更新 I 列中的单元格值。 - 我希望每当用户在 H 列中输入任何值时,应将前五个字符复制到相应的 I 列中。 如果我在 H 列中输入 123456789,那么 123
我正在尝试组合以下宏: 在下拉列表中进行多项选择 自动调整合并单元格 隐藏/取消隐藏表单中的行 宏单独工作,但它们都应该添加到同一个特定工作表中,我不知道如何组合它们。任何帮助表示赞赏。谢谢! 1)
使用结构化引用时,我在触发 Worksheet_Change 宏时遇到问题。我发誓我以前可以使用它,所以我认为这是一个语法问题。 当我使用“$A$1”类型引用目标单元格时,它工作正常。但是,当我对已更
Private Sub Worksheet_Change(ByVal Target As Range) MsgBox ("hi") End Sub 我从未看到“嗨”消息。我有一张工作表,名为 Sh
我编写了一段代码,当单元格 L3 更改时,它会根据 L3 的内容依次更改一系列单元格。 L3 是一个从 L3 到 N4 的合并单元格,尽管如此,代码仍然可以正常工作,直到用户删除内容而不是输入新内容。
我的 Excel 项目在家中(使用 Excel 2010)可以正常运行,但在两台工作计算机(使用 Excel 2016)上运行不正常,我怀疑 Worksheet_Change 事件是问题所在。 当用户
这里是 VBA 初学者。 我有一个项目,我为用户指定了输入单元格。当这些输入单元格之一发生更改时,它需要运行几行仅特定于该单元格的代码。如果用户清除单元格的内容,我希望代码将空白单元格替换为值“0”。
Skip my rambling narrative by scrolling down to tldr and Question. 我有几个带有值的行和列;例如答10:G15。在每行中,紧邻任何单元
我是一名 Excel-VBA 新手,我正在尝试编写一小段代码,该代码是由某人更改工作表中单元格的值触发的。如果已更改单元格的值小于零,则应将其设置为零。代码如下所示: Private Sub Work
我正在使用 VBA 来更改 Excel,并在 Sheet1 中包含以下简单的事件处理程序: Private Sub Worksheet_Change(ByVal Target As Range)
我正在尝试编写一个宏来更改任何列应自动保存工作表。 我的 Excel 工作表扩展到 G25。 我尝试了这个,但它不起作用: Private Sub Worksheet_Change(ByVal Tar
当列“P”取值“x”时,我遇到了“Worksheet_Change”子问题,该子将整行复制并粘贴到第二个工作表(“已完成”)中。它的内容如下: Private Sub Worksheet_Change
我正在创建一个库存电子表格。当零件的数量低于重新订购数量时,会自动弹出一个带有电子邮件以发送重新订购零件的电子邮件。 该代码正在确定何时弹出电子邮件,但我不想用零件号和供应商信息自动填充电子邮件。 我
我想先说我是 VBA 的新手,所以希望这是一个简单的解决方法。 我正在尝试使以下 VBA 代码适用于具有公式的多个单元格。效果是单元格中有一个幻影值,用户可以覆盖然后再次查看他们是否删除了它们的值。我
我正在尝试拥有多个 Worksheet_Change在一张纸上,但是我在实现它们时遇到了问题。 我试过了: Private Sub Worksheet_Change(ByVal Target As R
我想知道您是否可以帮助我处理两个不同目标的 worksheet_Change。 我的代码如下: Private Sub Worksheet_Change(ByVal Target As Range)
我想在Sheet1中写一段VBA代码它对 Excel 下拉列表中所做的更改作出 react 。 目前,我已经编写了以下代码,其中 Zeile = Row并且下拉列表中的每个相关条目都可以在K7:K10
我是一名优秀的程序员,十分优秀!