Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bidirektional Zellen synchronisieren

Forumthread: Bidirektional Zellen synchronisieren

Bidirektional Zellen synchronisieren
25.10.2024 16:44:11
Huessy
Hallo, ich benötige bei einem VBA-Code Hilfe.

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
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bidirektional Zellen synchronisieren
25.10.2024 17:11:57
Onur
Poste bitte eine Beispielsdatei.
Mann muss alles testen und sehen können, was genau in den jeweiligen Zellen stehen.
AW: Bidirektional Zellen synchronisieren
25.10.2024 17:46:30
Eifeljoi 5
Hallo

Nur kurz nach gefragt.
Warum VBA??
Dies wäre eventuell lösbar per PQ.
Falls Interesse besteht bitte melden.
Anzeige
AW: Bidirektional Zellen synchronisieren
28.10.2024 09:03:38
Huessy
Guten Morgen Onur

Viele Dank für deine Hilfe und Lösung zu meinem Problem.
Ich hatte zuerst die Aufgabe mit einem "x" anstelle "X" als erledigt markiert, dann hatte es nicht funktioniert ;-)
Da habe ich im VBA-Code bemerkt, dass ich ein "X" setzen muss, funktioniert gut!

Jedoch funktionieren nur die Zellen X5 bidirektional. Wenn ich die Aufgabe nicht im "Übersicht-Blatt" auf erledigt setze sondern z.B in einem der Aufgabenblätter das "X" bei X9 so überträgt es im Übersichts-Blatt fälschlicherweise das "X" immer bei X5

Ich lade das Beispiel mit farblich markierten Zellen hoch:
https://www.herber.de/bbs/user/173193.xlsm

Gruss Huessy
Anzeige
AW: Bidirektional Zellen synchronisieren
29.10.2024 09:44:30
Huessy
Weltklasse! Es funktioniert wie es soll.
Herzlichen Dank Onur für deine Hilfe!
AW: Bidirektional Zellen synchronisieren
25.10.2024 17:51:25
Huessy
Danke für den Hinweis. Ich kenne mich mit Excel und ein wenig mit VBA aus, jedoch nicht mit PQ. Python wäre auch ok, jedoch ist dies noch nicht verfügbar.
Nur hilft mir "eventuell lösbar" nicht weiter.
Anzeige
AW: Bidirektional Zellen synchronisieren
25.10.2024 18:12:09
Yal
Hallo Huessy,

das Vorhaben ist realisierbar, setzt aber voraus, zwecks Stabilität, dass die Datensätze in den einzelnen Erfassungsblätter eindeutig identifizierbar sind. Diese Identifier muss dann im Übersicht übernommen werden. Erst dann kannst Du den Spiel "wenn es sich in A ändert, dann wird es auf B übertragen und umgekehrt" spielen.

Die Strategie, die in deinem Code vorliegt, kann nur in einer Richtung funktionieren. Du speicherst im Übersichtsblatt die Adresse der korrespondierende Zelle im Erfassungblatt. Es müsste auch umgekehrt in der Erf.blatt die Adresse vom Üb.blatt gespeichert werden. Wenn Du die zweite Zeile der Erf.blatt löscht und Zeilen darunter noch befüllt sind, musst Du die Konsistenz sicherstellen. Wird extrem schwierig. So schwierig, dass man gar nicht damit anfangen soll.

VG
Yal

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige