上一个单元格更改时重置或清除相邻单元格



我在互联网上搜索了大约6个小时,试图找到合适的vba代码,但似乎都不起作用。我尝试了SelectionChange、Change等所有功能,但似乎都无法正常工作。

这是我需要的:我有3列(A、B和C(。它们是下降的。它们不依赖于命名范围。我使用了"数据验证列表"属性。

数据验证:

  1. 对于列A单元格:='JFG-JF'$C$1:$ZZ$1
  2. 对于列B单元格:=OFFSET
  3. 对于列C单元格:=OFFSET(XLOOKUP(B2,'JF-JSF'!$C$1:$AW$1,'JF-JSF'!$C$2:$AW$16(,0,0,ROWS('JF-JSF'!$A:$A(-COUNTIF('JF-JSF'!$C:$C,"(,1(

我只需要一个vba代码,确保a列中的任何单元格更改/选择都会重置/清除B列和C列中的相邻单元格。如果a列没有更改,但B列发生了更改,则重置/清除C列单元格。

最后,我希望代码的一部分以某种方式突出显示任何更改的选择。颜色可以是橙色、黄色——无论什么——只需要能够直观地看到是否进行了新的选择/更改。

利用上面链接的论坛,我可以调整我的编码,现在它可以完美地工作了!

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count < 1 Then Exit Sub   
If Target.Column <> 1 Then Exit Sub 
If Not CellHasValidation(Target) Then Exit Sub 

On Error GoTo haveError 
Application.EnableEvents = False
Target.Offset(0, 1).Value = ""
Target.Offset(0, 2).Value = ""
Target.Offset(0, 1).Interior.ColorIndex = 44
Target.Offset(0, 2).Interior.ColorIndex = 44
Application.EnableEvents = True
Exit Sub

相关内容

  • 没有找到相关文章

最新更新