按下输入时Excel宏来修改单元格

时间:2010-11-09 18:57:37

标签: excel vba

我正在寻找一些关于宏的帮助,以根据在另一个单元格中输入的内容来减少单元格值。我有5列我将输入值以及2列已经有数据。当我在5列中的一列中输入一个数字时,我想要一个写入“Blah Blah”的窗口,如果我单击是,我希望从另一个需要的单元格中减去该单元格中的值查看了其他两列的信息。

表1:

    A   B   C   D   E   F   G
1                       5   10

表2:

    A   B   C   D   E   F   G
1       2   4   6   8   10  12
2   2
3   4
4   5

因此,如果我在第1页上的A1中键入'250',则宏会将第2页中单元格F4中的值减少250,因为这是来自第1页的5,10的值。这样的事情是可能的?根据我输入值的列,将会有更多的过滤,我应该可以在以后修改它。

2 个答案:

答案 0 :(得分:2)

首先,确保您无法使用公式完成足够好的解决方案,因为编写宏会更有效。

如果您仍然需要宏,则需要针对相关工作表的Worksheet_Change事件编写一个函数。 This link会告诉您如何执行此操作。

处理Worksheet_Change事件时,请注意不要生成其他Worksheet_Change。由于您对工作表更改的部分响应将是另一项更改,因此请在代码前加Application.EnableEvents = False,然后使用Application.EnableEvents = True进行操作。

答案 1 :(得分:1)

对于代码本身进行更改,您只需使用CELLS或OFFSET方法(在Range对象上)。这将在Steven发布的Worksheet_Change事件的上下文中完成。