
Unten finden Sie Code für einen dynamischen Link oder eine bidirektionale Synchronisierung zwischen zwei separaten Blättern und Feldern. Ich möchte dies jedoch ändern, um einen Feldbereich wie A4:A12 und B7:B15 zu erstellen. Bitte helfen Sie.Für einen Bereich mithilfe einer For-Schleife aktualisiert, mehrere Zellen können jedoch nicht ohne Fehler bearbeitet werden
Sheet1 = ein Feld im Dateref-Blatt
VBA-Code für 2 Blätter.
In Blatt 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
In Blatt 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
Neuer Code, aber Fehler, wenn zwei Felder gleichzeitig bearbeitet werden.
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
Antwort1
Bitte verwenden Sie
If Not Intersect(Target, Range("A4:A12")) Is Nothing Then
und
Sheets("Sheet2").Range("B7:B15").Value = Target.Value
anstatt
If Not Intersect(Target, Range("A4")) Is Nothing Then
und
Sheets("Sheet2").Range("B7").Value = Target.Value