2017-11-11 55 views
0

我在Excel表Table1中有一个表。 ColumnA中的值通过公式更改,而不是用户输入。当ColumnA中的值发生更改时,如果ColumnB值为null,我希望使用与ColumnA相同的值填充ColumnB中的相应行。我如何使用VBA实现这一点,我相信我需要使用Worksheet Calculate事件。Excel表值更改

感谢

+2

是的,你需要使用工作表计算事件,以检查在公式的结果的变化。 – Jeeped

+0

如何确定哪一行更改而不使用目标 – user3673417

回答

0

根据您的标准这将在-至少移动你的价值观。无事件代码,还没有想通出来呢..

子宏1()

'Macro1的宏 '

“初始化变量

昏暗R作为范围

昏暗R1作为范围

Dim b As Range

'设定范围作为塔A

集合R =表( “工作表Sheet”)。ListObjects( “表1”)。ListColumns( “ColumnA”)。DataBodyRange

' 设定范围作为塔B

组R1 =表( “工作表Sheet”)。ListObjects( “表1”)。ListColumns( “ColumnB”)。DataBodyRange

“**遍历在列 “B” 的每个小区,并分配给的值。如果0

For Each b In r1.Cells

If b = 0 Then 
b = Cells(b.Row, b.Column - 1) 

End If 


Next b 

末次