【发布时间】:2018-07-11 01:59:01
【问题描述】:
在同一个 Excel 工作表上有两个表格。第一个表名为 Cabinet,范围为 $A$12:$AN$29 第二个表名为 WallTiles,范围为 $A$96:$AN$113
对于表“内阁”:
我正在尝试创建一个宏,它允许执行以下操作:清除/更改 A12 时,清除单元格:B12、C12、D12 和 H12。当 B12 被清除/更改时,清除单元格:C12、D12 和 H12。当 C12 被清除/更改时,清除单元格:D12 和 H12。
类似地:当 A13 被清除/更改时,清除单元格:B13、C13、D13 和 H13。当 B13 被清除/更改时,清除单元格:C13、D13 和 H13。当 C13 被清除/更改时,清除单元格:D13 和 H13。 & 这适用于从 Row12 到 Row29 的所有行。
对于表格“WallTiles:
我正在尝试创建一个宏,它允许执行以下操作:清除 A96 时,清除单元格:B96 和 F 96。这适用于从 Row96 到 Row113 的所有行。
我正在使用@Dy.Lee 给我的以下代码,它对橱柜表非常有用:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDB As Range
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("a12", "c29")) Is Nothing Then
Set rngDB = Range(Target.Offset(, 1), Range("d" & Target.Row))
Set rngDB = Union(rngDB, Range("h" & Target.Row))
rngDB.ClearContents
End If
End Sub
但是,当我将它应用于表格 WallTiles 时,它通过清除 B 和 F 来工作,但它不允许我在 B 列中输入值。我需要在 B96:B113 中输入数据。
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("a96", "b113")) Is Nothing Then
Set rngDB = Range(Target.Offset(, 1), Range("b" & Target.Row))
Set rngDB = Union(rngDB, Range("f" & Target.Row))
rngDB.ClearContents
End If
请帮忙!!
【问题讨论】:
-
您在 LaminatedBench 段落中用 F33 重复了这个错误。第二个 F33 应该是 G33。您仍然有'...当 F33 被清除/更改时,清除单元格:H33 和 L33。 ...'。
-
@Jeeped。嗨,伙计。抱歉,我已经编辑了这个问题,因为它正在处理旧问题。更改后你能调查一下吗。谢谢伙计。
-
你复制了很多老问题,但你还没有解释你想用墙砖做些什么新的事情。