Ziel:
Ich möchte mehrere Zellen bidirektional synchronisieren.
Logik der Funktion:
In einer Tabelle sollen Arbeitspakete mit einem "x" als erledigt markiert werden. Mit der Formel Filter hole ich die spezifischen Arbeitspakete aus unterschiedlichen Tabellenblättern und möchte nun sowohl in dieser "Tabellarischen-Übersicht" und in den einzelnen Arbeitspaketen die Arbeit als erledigt markieren können. Das heisst, wenn die Aufgabe einmal als erledigt mit einem "x" markiert wurde, wird sie in der synchronisierten Zelle auch als erledigt gesetzt:
Ich habe mit ChatGPT nicht hinbekommen, dass die Zelleninhalte J5-J232 durch den jeweils angegebenen Blattnamen in den Zellen K5-K232 und durch Angabe der Zellen welche synchronisiert werden sollen und in L5-L232 stehen, synchronisiert werden.
Der nachfolgende Code funktioniert, jedoch nicht bidirektional und überträgt nur den Wert aus der Zelle J5.
Sub SynchronizeCells()
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim sourceCell As Range
Dim targetCell As Range
Dim sourceSheetName As String
Dim targetCellAddress As String
' Arbeitsblatt "13. Übersicht Submissionspakete" festlegen
Set wsSource = ThisWorkbook.Sheets("13. Übersicht Submissionspakete")
' Zelle J5 im Quellblatt
Set sourceCell = wsSource.Range("J5")
' Arbeitsblattname und Zellenadresse aus K5 und L5 lesen
sourceSheetName = wsSource.Range("K5").Value
targetCellAddress = wsSource.Range("L5").Value
' Zielarbeitsblatt festlegen
On Error Resume Next
Set wsTarget = ThisWorkbook.Sheets(sourceSheetName)
On Error GoTo 0
' Überprüfen, ob das Zielarbeitsblatt existiert
If wsTarget Is Nothing Then
MsgBox "Das Arbeitsblatt '" & sourceSheetName & "' existiert nicht.", vbExclamation
Exit Sub
End If
' Zielzelle festlegen
Set targetCell = wsTarget.Range(targetCellAddress)
' Synchronisieren der Werte
targetCell.Value = sourceCell.Value
MsgBox "Die Zelle " & sourceCell.Address & " wurde mit der Zelle " & targetCell.Address & " synchronisiert.", vbInformation
End Sub