第一列更改时,自动计算(或删除)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