我已经启用了宏的工作表时,在那里我填写的单元列C1
,C2
,C3
等相应的列值ID
,都对应于特定的细胞ID
都充满了在同一个值C1
,C2
等等而且,当我删除中一个单元格的值Cx
,它会自动从 Completed 中与该值对应的所有单元格中删除ID
。
例如。在下面的数据,我想的空白单元格(__
)自动填充有Y
在列小号C1
,C2
并且C3
当我在类型Y
S IN的其他细胞。
Role ID C1 C2 C3 ....
A 1 Y
A 2 Y Y
A 5 Y Y
A 8 Y
B 2 __ __
B 8 __
B 10 Y
C 1 __
C 10 __
为此,我使用了 @VBasic2008在这里发布的答案。感谢@VBasic2008!:)
这种方法对我来说效果很好。但是,当我向Role
列添加过滤器以仅过滤具有 RoleA
和 的行时B
,我遇到了一个错误并且该方法无法按预期工作。谁能告诉我这是为什么,以及如何解决?
编辑:稍微更改了模拟数据和解释以更好地描述我的要求。
我建议简单地迭代每个 ID 单元格,直到找到该行中的空单元格。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ID As Long, completed As Variant, r As Long
Application.EnableEvents = False
If Sheet1.Cells(1, Target.Column).Value = "Completed" Then
ID = Target.Offset(0, -1).Value
completed = Target.Value
r = 2
Do Until Sheet1.Range("B" & r).Value = ""
If Sheet1.Range("B" & r).Value = ID Then
Sheet1.Range("C" & r).Value = completed
End If
r = r + 1
Loop
End If
Application.EnableEvents = True
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句