
Ich weiß, wie man den Wert einer Zelle von einer anderen Zelle abhängig macht (mithilfe von = in der Formel der Zielzelle).
Ist es jedoch möglich, eine gleichwertige Verknüpfung zu erstellen, sodass, wenn ich den Wert in Zelle A ändere, der Wert sofort in Zelle B kopiert wird, aberAuchwenn ich den Wert der Zelle B ändere, wird auch Zelle A geändert?
Im Grunde wäre es die „gleiche“ Zelle, aber an zwei Stellen, so dass die Daten bequem geändert werden können, je nachdem, in welchem Arbeitsblatt Sie sich befinden.
Antwort1
Sie können dies mit einem VBA-Makro tun, das dieWorksheet.Change
Ereignis. Dieser Code hält beispielsweise die Zellen B2
und D10
im selben Arbeitsblatt synchron:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
If Target.Address = "$B$2" Then
Range("$D$10").Value = Target.Value
ElseIf Target.Address = "$D$10" Then
Range("$B$2").Value = Target.Value
End If
Application.EnableEvents = True
End Sub
Im VBA-Editor muss dieser Code in dem Arbeitsblatt gespeichert werden, in dem Sie die Änderung erkennen möchten, nicht in der Arbeitsmappe oder in einem Modul. Wenn die beiden Zellen auf unterschiedlichen Blättern liegen müssen, benötigen Sie zwei Makros, eines für jedes Blatt.
Beachten Sie, dass wir Ereignisse deaktivieren müssen, bevor unser Makro die verknüpfte Zelle ändert. Andernfalls löst diese Änderung ein weiteres Ereignis aus und Excel bleibt in einer Endlosschleife hängen. Beachten Sie, dass Sie ein Makro manuell ausführen müssen, um die Ereignisse wieder zu aktivieren, wenn Ihr Code mit einem Fehler beendet wird, während Ereignisse deaktiviert sind.