我想防止單元格被編輯,因爲我需要保留其中的公式。問題是,我想將另一個工作簿中的大量值粘貼到我的工作表中,並且粘貼的目標範圍包括一些不能更改的單元格。因此,一個簡單的鎖定選項將不起作用,因爲這會阻止我一次執行此操作。Excel VBA - 防止編輯時更改單元格
我試過使用一個代碼,其中單元在單元更改後變回其預期公式,但是,這會產生無限循環。請參閱下面的簡化示例:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F28")) Is Nothing Then
Range("F28").Formula = "=if(E28=0,0,G28/E28)"
End If
End Sub
非常感謝您的幫助,非常感謝。
編輯: 由於我以各種格式和工作簿名稱接收這些文件,因此從其他工作簿傳輸的自動化解決方案將不起作用。
我假設您將此代碼添加到要粘貼到工作表的工作表(而不是工作簿的標準模塊)中。將If/EndIf封裝在Application.EnableEvents = False和Application.EnableEvents = True中以避免無限循環。 – chuff
@chuff,對不起,我以前沒有看到您的意見... –
謝謝,非常感謝! – jcv