2016-07-28 82 views
0

首先,我必须承认我在这里和VBA中都是新手。感谢您的论坛! :)VBA - 说特定范围的SheetChange是“类似True”的可能性?

我有程序,在SheetChange反应保存数据。但是,如果有由宏添加的公式,它不会导致SheetChange。作为值复制和插入是不可能的 - 有7k行,程序在每个SheetChange(颜色和其他东西)上都有作用 - 时间不可忍受。

是否有可能有EnableEvents = False(把越来越SheetChange的),然后指定改变细胞的范围(总而整列 - 有2列只是我的兴趣),然后让程序保存数据。细胞的颜色等仍然存在(这种着色等必须留在程序中)

它甚至有可能会工作吗?如果可以的话,我应该如何告诉宏特定的Range有SheetChange?

道歉,如果这个问题是完全愚蠢的。

非常感谢您阅读至少。

+0

嗨,你可以为您提供使用其代码?谢谢 –

+0

嗨,谢谢你的快速回复! 如果你的意思是在SheetChange上反应的程序的代码,这是不可能的:( 它被实现为Excel AddIn,所以我可以调用由宏指令保存的数据(由SheetChange发现)),它是一个复杂且非常使用的程序,因为上面提到的这个特定的问题,很容易编辑。 – Pavel

回答

0

在工作表更改事件中,只需指定它应该只在Target在指定范围内时保存。对于公式,使用Calculate事件并重复基本相同的代码。

因此,如果您只希望在更改的单元格位于第一列并且只在特定的行范围内(例如)保存它时,请将If Target.Column = 1 And Target.Row > 5 And Target.Row <= 10 Then添加到您的更改事件中。

对于公式的问题,添加以下常规

Private Sub Worksheet_Calculate() 
'your code here 
End Sub 
+0

谢谢你的回应,我会尽力得到它,然后执行它:) – Pavel