2016-07-28 86 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