2

毕竟,我已经有了下拉列表、依赖项等,而且效果很好,而且我还有一个 vba 代码,当用户从下拉列表父项更改一个值时,依赖项会清除它们的内容。但

这只适用于那个细胞......

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("C2")) Is Nothing Then
    Range("D2").ClearContents
End If
End Sub

显然是因为我告诉 vba 只有 C2 和 D2,但我想要的是有人会帮助弄清楚如何使它成为整个列,而不仅仅是那个特定的单元格,比如 (column - 1 ) 或其他东西.. . 因为如果我复制粘贴这些下拉列表仅适用于指定的第一个原因...

有人吗?有任何想法吗?请。

这里有一些照片 在此处输入图像描述

在此处输入图像描述

在上面的图片中,下拉列表仅在该特定单元格中有效,我尝试了 Hol 告诉我的功能 Cells(row index,columnIndex) 但我需要一个 for 或类似的东西不是吗?这是我在 vba 中做的第一件事,所以我没有线索,我正在寻找示例然后尝试,它需要太长时间哈哈哈,我已经尝试过而不是 "C2" , Column(3) 和在 D2 Column(4) 中,但条件中有错误If Not Intersect(Target, Range(Column(3))) Is Nothing Then

4

1 回答 1

3

据我了解,您希望您的宏成对工作:C 列(从第 2 行底部方向开始)的任何更改都将清除同一行 D 列中的单元格。如果是这样,下面的代码可以解决问题。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub

If Target.Column = 3 Then
    Target.Offset(0, 1).ClearContents
End If
End Sub
于 2013-10-11T15:57:00.267 回答