有没有一种方法可以在更改值时更改宏,而不一定当用户更改该值时?单元格值更改时自动运行宏(未由用户更改)
例如,我有一个连接于细胞“A1”的复选框。当复选框被选中时,A1未被选中时读取“TRUE”,它读取“FALSE”。当A1在TRUE和FALSE之间变化时,我想要一个宏运行。
我所见过的私人小组Worksheet_Change代码,但似乎当用户实际更改单元格A1只工作。是否有另一种自动运行宏的方法?
UPDATE 13年11月29日 谢谢大家对你的建议,但不幸的是这是不太工作了。让我试着进一步扩大。
我有一个复选框,下拉列表和文本字段的用户表单。来自用户表单的所有数据汇总在工作表的B列中(这是所有用户表单字段链接的地方)。当宏运行时,会发生一些计算,并且用户得到一些数字。
当用户更改用户窗体中的内容时,我希望宏自动运行。我知道这有可能成为资源密集型的,但当它涉及到它时我会处理这个问题。我想要一个过程说明如果B1:B20范围内的任何单元格的值发生变化,然后运行宏。我相信这种方法比告诉每个用户表单域运行相同的宏更容易,因为稍后可以更容易地展开和更新此表单,特别是在其他人接管维护的情况下。
我可以有一个按钮,用户可以点击运行,当他们完成填表宏,但由于用户忘记重新计算,我可以预见不准确的信息;这就是为什么我想自动完成并且实时更新数字的原因。
'有宏更改时值改变了吗?为什么不点击复选框触发它? – pnuts
当公式更改单元格时,[VBA代码不能运行]的可能重复(http://stackoverflow.com/questions/11406628/vba-code-doesnt-run-when-cell-is-changed-by- a-formula) –
@Sid建议的重复Q处理由于公式引起的更改,并且您的答案显示为“Worksheet_Calculate”。不幸的是,由于链接复选框导致的单元格更改也不会触发此事件。 –