
下面是兩個單獨的工作表和欄位之間的動態連結或雙向同步的程式碼。但是,我想更改此設定以執行一系列字段,例如 A4:A12 和 B7:B15。請幫忙。使用 For 迴圈更新了範圍,但無法無錯誤地編輯多個儲存格
Sheet1 = 日期引用表上的字段
2 張的 VBA 程式碼。
在表 1 中:
Private Sub Worksheet_change(ByVal Target As Range)
If Not Intersect(Target, Range("A4")) Is Nothing Then
If Target = Range("A4") Then
Sheets("Sheet2").Range("B7").Value = Target.Value
End If
End If
End Sub
在表 2 中:
Private Sub Worksheet_change(ByVal Target As Range)
If Not Intersect(Target, Range("B7")) Is Nothing Then
If Target = Range("B7") Then
If Sheets("Sheet1").Range("A4").Value <> Target.Value Then
Sheets("Sheet1").Range("A4").Value = Target.Value
End If
End If
End If
End Sub
新程式碼,但同時編輯兩個欄位時發生錯誤。
Private Sub Worksheet_change(ByVal Target As Range)
Rng = Array("B11", "B12")
Rng2 = Array("C13", "C14")
Sched = Sheets("Dateref").Range("A7")
For i = 0 To UBound(Rng) - LBound(Rng)
If Not Intersect(Target, Range(Rng(i))) Is Nothing Then
If Target = Range(Rng(i)) Then
If Sheets(Sched).Range(Rng2(i)).Value <> Target.Value Then
Sheets(Sched).Range(Rng2(i)).Value = Target.Value
End If
End If
End If
Next i
End Sub
答案1
請嘗試使用
If Not Intersect(Target, Range("A4:A12")) Is Nothing Then
&
Sheets("Sheet2").Range("B7:B15").Value = Target.Value
代替
If Not Intersect(Target, Range("A4")) Is Nothing Then
&
Sheets("Sheet2").Range("B7").Value = Target.Value