返回列表 上一主題 發帖

如何避免儲存格公式,因『剪下』『貼上』而被修改?

如何避免儲存格公式,因『剪下』『貼上』而被修改?

如何避免儲存格公式,因『剪下』『貼上』而被修改?

sheet2 a1= Sheet1!a1
sheet2 b1= Sheet1!b1
sheet2 c1= Sheet1!c1

sheet2 a2= Sheet1!a2
sheet2 b2= Sheet1!b2
sheet2 c2= Sheet1!c2

以此類推

我要固定 sheet2 的公式,不能因為 sheet1 的儲存格 『剪下』『貼上』而被修改


一、我試了將 sheet2 工具->保護->保護工作表

結果『剪下』『貼上』 公式還是變了


二、我試著用indirect("Sheet1!a1",1)的方式來取代,公式是不會變了,

相關公式共有 15453個, 程式容量卻大了30%,多了750k ,整個檔案的開啟速度也變慢了

為了產生15453個公式,我還刻意用 vba 來產生。



三、目前我還能想到的就是在寫個巨集,在程式開啟動,主動更新整個 sheet2的公式,

這樣的方式,不能確保開啟後公式不被使用者修改

使用者下次重新開啟才能確保sheet2 公式正確。


還有更好的做法嗎?
公開經驗,創造智慧(我又不靠這過活)

回復 2# ikboy


    謝謝,不能直接填值,只能公式

我試了 indirect offset index

目前看來 index 最省空間~~  index < offset < indirect

而且直接填寫 1 2 3 4 會比用 row() column() 省空間

我還是做一個被動方式來處理,也許就像上面的 worksheet_activate 時才更新一次所有公式~~
公開經驗,創造智慧(我又不靠這過活)

TOP

        靜思自在 : 天上最美是星星,人生最美是溫情。
返回列表 上一主題