[英]Construct a pair of mirrored cells in two different worksheets
我正在嘗試在工作簿的兩張不同的紙上創建一對單元,以便您在一個單元中輸入的所有內容都被復制到另一個單元中。 如果這是一種方法,那顯然是微不足道的。 我想使其鏈接為雙向。 這將涉及VBA腳本編寫,對此我還是一個新手。 有人對如何學習我需要知道的東西有一些指示嗎? 我已經用Google搜索過,但是只是生成了一些代碼示例而沒有解釋,並且我不想放入我不理解的代碼。
假設您有Sheet1和Sheet2,它們的名稱就是這樣。
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
對Sheet1中任何單元格的更改都會觸發上面的代碼。
已更改的單元格稱為目標范圍。
您可以使用Target.Address和Target.Value輕松識別目標范圍的地址和內容。 然后,您可以使用該地址和值更新Sheet2。
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Sheet2").Range(Target.Address).Value = Target.Value
End Sub
要將數據從Sheet2復制到Sheet1,只需在Sheet2上重復上述步驟即可。
Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Sheet1").Range(Target.Address).Value = Target.Value
End Sub
但是,如果對Sheet1的更改將觸發對Sheet2的更改,從而又對Sheet1進行更改,則更改將無限期地發生,這是沒有意義的。 因此,我們需要添加一些代碼以僅在Sheet1和Sheet2的值不同時才應用更改。 如果值相同,則無需應用更改。 因此,Sheet2的代碼應如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
If ThisWorkbook.Sheets("Sheet1").Range(Target.Address).Value <> Target.Value Then
ThisWorkbook.Sheets("Sheet1").Range(Target.Address).Value = Target.Value
End If
End Sub
您將使用一對事件宏來完成此操作。 這是您可以適應的示例:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.