第一列更改时,自动计算(或删除)Excel中的行

我有一张大桌子,第一列X是“input栏”,范围在变。

Y – 有更多的公式和函数(Vlookup)和第一列X是一个查找值,然后从其他表格计算其他列。

| A | B | C | D | E 1 | X | Y | Y | Y | Y 2 | X | Y | Y | Y | Y 3 | X | Y | Y | Y | Y 4 | X | Y | Y | Y | Y 

我插入(和删除)更多的X值(实际数据),然后我使用“双击”来计算所有其他Y列,但它不好,因为X范围不一样。 我试图将其转换为表“Ctrl-T”,但它对我来说不是很好。 也许我没有正确使用它。

问题:

如果我粘贴一个新的X列,我需要其他的Y列自动计算,或者如果我删除了几个X行,其他Y也应该删除。 现在我得到这样的东西:

  | A | B | C | D | E 1 | X | Y | Y | Y | Y 2 | X | Y | Y | Y | Y 3 | | N/A | N/A | N/A | N/A 4 | | N/A | N/A | N/A | N/A 

要么:

  | A | B | C | D | E 1 | X | Y | Y | Y | Y 2 | X | Y | Y | Y | Y 3 | X | | | | 

我需要的:

如果我删除X值,我需要自动消失Y值:

  | A | B | C | D | E 1 | X | Y | Y | Y | Y 2 | X | Y | Y | Y | Y 

如果我添加X值,我需要自动计算Y值:

  | A | B | C | D | E 1 | X | Y | Y | Y | Y 2 | X | Y | Y | Y | Y 3 | X | Y | Y | Y | Y 

希望很清楚,谢谢!

对于Y列,您可以添加“IF”FORMULA

 =if(A1>0,*Y COLUMN FORMULA*,"") 

尝试改变公式

 =iferror(*Y formula,"") 

或者如果它仍然很慢,如果你只改变X列

你可以使用下面的代码

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then 'CHECK IF THERE IS ANY CHANGE ON X COLUMN If Target.Value = Empty Then 'CHECK IF X COLUMN HAS BEEN DELETED Rows(Target.Row).Delete 'IF X COLUMN IS DELETED, DELETS WHOLE ROW Else Cells(Target.Row - 1, 2).Resize(1, 4).Copy Cells(Target.Row, 2).Resize(1, 4) 'IF X COLUMN IS ENTERED OR MODIFIED COPIES ABOVE Y COLUMN FORMULAS End If End If End Sub