Office: Hilfe Synchronisationsproblem

Helfe beim Thema Hilfe Synchronisationsproblem in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich wollte generell einmal anfragen ob es möglich ist zwei oder mehr Excel-Mappen die vom Aufbau identisch sind zu synchronisieren?... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von N123456789, 15. Juni 2013.

  1. N123456789 Erfahrener User

    Hilfe Synchronisationsproblem


    Hallo zusammen,

    ich wollte generell einmal anfragen ob es möglich ist zwei oder mehr Excel-Mappen die vom Aufbau identisch sind zu synchronisieren? Ich denke dabei an folgende Situation:

    Eine Datei ist auf dem PC (zu Hause)
    Eine Datei ist auf dem Laptop
    Eine Datei ist z.B. auf einem Tablet

    Die drei zu synchronisierenden Tabellenblätter sind vom Aufbau identisch jedoch nur von unterschiedlichen Personen zu unterschiedlichen Zeiten benutzt.

    Im Internet finde ich kaum Lösungen zu diesem Thema da die meisten Synchronisationsprobleme innerhalb einer Mappe stattfinden. Derzeit ist mein größter „lead“ über eine quarry. Das habe ich bei microsoft selbst gelesen. Jetzt ist nur blöd dass in der Anleitung von einer anderen Datenbank die rede ist. Das verwirrt mich wieder.

    Die Ideallösung ist das alle auf die selbe Datei zugreifen ohne dass diese im Internet auf einer dropbox ist.
    Wenn das nicht geht, würde ich es über verschiedene Dateien lösen die dann „einfach“ oder „medium schwer“ miteinander verknüpft oder verbunden sind. Ich stelle mir vor dass man theoretisch über das Netzwerk die Daten synchronisiert oder z.b. bei einem Tablet durch das anschließen des Tablets und dem starten einer Prozedur die Daten aktualisiert bekommt.
    Im wesentlichen geht es ja hier nur darum, die Neueinträge in einer Datenbank in alle Arbeitsmappen zu bekommen. Das möglichst unkompliziert und schnell.

    Ist meine „Vision“ realisierbar? Welche „Suchbegriffe“ kann ich googeln um weiter zu recherchieren. Kennt jemand bereits posts mit diesem Problem.
    Kann ein Macro das Problem lösen? Kann die Festplatte im Computer z.b. im Netzwerk als Festplatte verwendet werden und wann immer diese aufgerufen wird, aktualisiert sie erst einmal alle Daten und erlaubt dann das weitere verfahren.

    Auf dem Gebiet Netzwerk und Synchronisation betrete ich absolutes Neuland. Was ich gerade brauche sind die richtigen Stichwörter und Grundkenntnisse zu diesen Themen. Dann kann ich meine Recherche selber weiterführen.

    Über eine Hilfestellung und Anregungen aller Art zu diesem Thema, würde ich mich sehr freuen. Das Thema wird mit Sicherheit zunehmend an Bedeutung gewinnen. Da es einfach viel Arbeit ersparen kann.

    Gruß
    Nico
     
    N123456789, 15. Juni 2013
    #1
  2. maninweb
    maninweb MVP für Microsoft Excel
    Hallo Nico,

    synchronisieren von Arbeitsmappen als solches ist meines Erachtens schon ein komplizierteres Unterfangen.

    Ein Ansatz wäre tatsächlich die Dropbox, die als Laufwerk angebunden wird und letzten Endes alle dieselbe
    Mappe benutzen. Wobei dann wieder die Einschränkungen gelten, was das gleichzeitige Bearbeiten betrifft.
    Und, die Mappe ist dann logischerweise im Internet. Da kannst Du aber Verschlüsselungsmechanismen
    verwenden.

    Ein weiterer Ansatz ist SkyDrive. Die Mappe liegt ebenfalls auf einem Server. Über die Excel Web App kannst
    Du die Mappe im Browser bearbeiten. Das geht aber nur eingeschränkt; nicht alle Excel Features stehen für
    die Excel WebApp zur Verfügung. Und - Makros funktionieren nicht in der Excel Web App. Insgesamt ist aber
    SkyDrive für einfache Mappen durchaus praktisch, weil es auch eine Anbindung an Excel gibt = runterladen
    und wieder hochladen (ab Excel 2010)

    Und schlißelich kannst Du die Sync auch selbst über Code erledigen, wo die Daten z.B. in einer Datenbank
    liegen und in die Mappe geladen werden. Das ist aber der komplizierteste Weg.

    Gruß
     
    maninweb, 15. Juni 2013
    #2
  3. N123456789 Erfahrener User
    Hallo Maninweb,

    Danke für deine Hinweise und die Bestätigung meiner Vermutungen. Leider Fallen Option 1 (Dropbox) u. Option 2 (Skydrive) eigentlich raus da die Datei vertrauliche Information enthalten soll und die Lagerung im "ungesicherten" Internet wird nicht freigegeben werden.

    Meine Anschlussfrage ist nun etwas unkonventionell. Ich weiß dass man nicht einfach in ein Forum geht und mit leeren Taschen nach Almosen Fragt, aber ist es möglich dass mir hier geholfen wird gedanklich ein Gerüst zu bauen mit dem ich dann selber programmieren kann.
    Also im Klartext, darf ich z.B. nach der Ablauflogik in Worten fragen?

    Wenn ich mir den Prozess des Synchronisierens überlege habe ich ja immer eine Datei mit "altem" Stand und eine mit "aktuellem" Stand.
    Um den Aufwand in Excel minimal zu halten, ist jetzt meine erste Überlegung -> Ein makro (gespeichert in beiden Dateien) dass die Synchronisierung übernimmt. Vorteil: vielleicht leichter programmierbar. Nachteil: Ich muss min. eine Datei öffnen und beide Geräte müssen verbunden sein.
    Frage 1: Würde dann eine Synchronisierung über das Wlan, Bluetooth, etc. gehen? Oder müssen die Geräte miteinander verbunden sein?

    Das Makro:
    Als ersten schritt würde ich die aktuelle Datei öffnen, das makro aktivieren und mir dann die "alte" - Datei öffnen lassen.
    Frage 2: Thema Speicherpfad -> Am einfachsten wird es sicher sein einen Fixen speicherpfad zu haben. Wie Arbeitsintensiv ist es eine Datei zu suchen?

    In meinem Fall habe ich 3 Tabellenblätter (Kunden, Auftragsdatenbank, Versteckt). In den ersten beiden sind Tabellenblättern ist jeweils eine Liste (Tabellenblatt "Kunde" hat Liste "ListeKunde", selbes in der Auftragsdatenbank). Die Datei hat ein integriertes Makro dass bei Benutzung diese beiden Listen mit Einträgen erweitert. Nun wäre meine logischste Lösung -> Kopiere beide Listen aus der "aktuellen" datei und füge sie in die "alte" datei ein. Oder noch einfacher, Lösche alle Tabellenblätter aus der "alten" datei und kopiere die Tabellenblätter der "aktuellen" datei hinein UND lösche etwaige Referenzen die entstehen könnten.
    Danach, Speichere "alt" u. "aktuell" und schließe alt.

    Könnt ihr bereits Schwierigkeiten herauslesen? Gibt es Wege diesen Vorgang zu Optimieren (in Richtung: Benutzerfreundlichkeit, Vereinfachung, etc.)? Bin ich da grundsätzlich auf dem Richtigen Weg?
    Über weitere Hilfestellung wäre ich sehr sehr dankbar.

    Liebe Grüße
    Nico
     
    N123456789, 28. Juni 2013
    #3
  4. maninweb
    maninweb MVP für Microsoft Excel

    Hilfe Synchronisationsproblem

    Hallo Nico,

    Wie ist eigentlich der Arbeitsablauf? Editieren mehrere Personen (wieviele) an den Daten und dies unabhängig voneinander oder gibt es Absprachen, wer wann was editiert? Spätestens wenn z.B. zwei Personen unterschiedliche oder gleiche Datensätze verändert haben, wird's m.E. kompliziert, wenn Du zur Datenhaltung die Excel Mappe beibehalten möchtest.

    Was mir noch einfällt, wäre https://owncloud.com/de/ Das ist eine Open Source Cloud auf dem eigenem Webserver, der aber dann gewisse Voraussetzungen mitbringen muss.

    Frage 1: meines Erachtens, solange Du ein Laufwerk erreichen bzw. verbinden kannst, kannst Du eine Datei öffnen, egal ob WLan oder anderes. Wobei ich mit BlueTooth nicht so gaut auskenne. Nachteil für Makros in allen Dateien ist auch der Pflegeaufwand desselbigen bei Code-Änderungen. Ich würde die Makros in einer weiteren externen Datei ablegen, die nur das macht. Nebenbei, Excel kann immer nur eine Mappe mit demselben Namen öffen. Das Makro müsste also temporär ein Duplikate der Quelldatei erstellen

    Frage 2: was meinst Du mit "suchen"? Das kann, muss aber nicht aufwändiger werden. Das Einfachste wäre m.E. den User die Datei auswählen zu lassen.

    Frage 3:hängt von der Beantwortung meiner Anmerkungen oben ab. Im schlimmsten Fall überschreibst Du so die Änderungen einiger User.

    Gruß
     
    Zuletzt bearbeitet: 28. Juni 2013
    maninweb, 28. Juni 2013
    #4
  5. N123456789 Erfahrener User
    Hallo Maninweb,

    ich versuche nun den Ablauf möglichst genau zu beschreiben. Das Programm wird hauptsächlich von der Familie benutzt (Vater, Bruder u. ich). Dabei gibt es einen Zentralen Hauptrechner oder Stand-PC im Büro von meinem Vater. Ihm gehört das geschäft und ich und mein Bruder helfen öffters mal aus. Nun wäre es natürlich Fantastisch wenn wir mit unseren Laptops u. tablets, sagen wir mal eine woche arbeiten könnten, am so. abend zu ihm fahren und mit wenigen clicks die Arbeit der ganzen Woche synchronisieren (also von mir meinem Bruder und meinem Vater). Das gleichzeitige Bearbeiten wird nicht vorkommen. Ich suche nun nach einer automatisierten "Ergebnis-Vereinigung". Am Ende der Vereinigung sollen dann alle devices den selben Stand haben. Da kann die Datei ruhig einmal "Excel-Programm_V1" oder "..._V2" heißen.
    Für mich ist die komfortabilität erst einmal nebensächlich. Das kann man man über weitere monate hinweg verfeinern. Mein Kriterium ist nur, dass ich am Ende meine Datei offen habe, einen Knopf drücke und die Listen in beiden Dateien auf den aktuellen Stand gebracht werden.

    Ich hoffe ich konnte den Prozess nun besser beschreiben. Die Anforderung ist wirklich nur auf den Übertrag der Daten focusiert.

    Meine Beste idee wie gesagt ist nun, dem Makro zu sagen:
    - Finde die alte Datei -> Lass mich aus einer Listbox heraus auswählen welche die neue datei ist
    - lösche die Reiter "Kunden" u. "Auftragsdatenbank" in der alten Datei
    - Kopiere die Reiter "Kunden" u. "Auftragsdatenbank" in der neuen Datei
    - Einfügen der kopierten Reiter in die "alte" Datei.
    - Speichere beide Workbooks (vielleicht erstelle ich noch ein Feld "Letzte Änderung" und füge das Datum ein)
    - Schließe die alte Datei

    Wenn ich alles so durchgehe, ist das die für mich "schlankste" Lösung da ich einfach das Tabellenblatt um das es geht ersetze. Das sollte auch funktionieren, da in dem Tabellenblatt keine Formeln oder Sonstiges hinterlegt ist.
    Für mich kritisch ist nur, ob Excel irgendwelche Referenzen setzt u. ob ich meine Strategie so gewählt habe, dass ich leicht alles mit einem code ansprechen kann.
    Sobald wir gedanklich das Problem gelöst haben werde ich loslegen :)

    Gruß Nico
     
    N123456789, 1. Juli 2013
    #5
  6. maninweb
    maninweb MVP für Microsoft Excel
    Hallo N12345678,


    wenn Du Formeln in der Mappe hast, die sich z.B. auf die Kundentabelle beziehen, werden die durch
    das Löschen der Tabelle dereferenziert, heisst, Du würdest Bezugsfehler erhalten. Insofern müsste
    eine Synchronisation darin bestehen, dass Du die Inhalte der Zellen abgleichst. Das kannst Du z.B.
    über Kopieren und Einfügen der Inhalte erreichen; auch per VBA (Copy, PasteSpecial).


    Dadurch löst sich aber in eurem Falle ein Problem nicht: wenn Du das mit Deiner Datei und der Datei
    von Deinem Bruder wiederholst, überschreibt ihr eure Änderungen gegenseitig. Insofern ist eine
    Synchronisation mit drei Personen nicht ganz so simpel. Ein einfache Variante wäre folgende:


    - die Kundentabelle, jetzt als Beispiel, beinhaltet für einen Datensatz eine eindeutige ID.
    - beim Anlegen von Datensätzen in der Kundentabelle müsste ein Feld Datum und Uhrzeit enthalten.
    - der Sync-Algo liest in einer Schleife die Zieldaten ein, z.B. in einer Collection oder Array
    - der Sync-Algo geht die Daten in der Quelltabelle durch und vergleicht jeden Eintrag mit der
    Zieltabelle (anhand der ID und des Datums)
    - neue werden der Zieltabelle hinzugefügt, geänderte Daten überschrieben


    Mit VBA ist das machbar


    Gruß
     
    maninweb, 2. Juli 2013
    #6
  7. N123456789 Erfahrener User
    Hallo Maninweb,

    Oh man, da hast du natürlich recht. So einfach ist es dann doch nicht mehr.

    Dein Vorschlag mit der Array finde ich ganz gut. Ich würde gerne noch ein zwei tiefere Fragen dazu stellen.
    Um mich dem ganzen für mich umsetzbarer anzunähern würde ich den "Sync-Algo" erst einmal in der selben Mappe ausprobieren. Da kommt aber auch schon die erste Verständnisfrage. Ich weiß dass arrays einiges an Daten Speichern können aber gilt das auch für einen Bereich der von ("A:CR") geht und mal pauschal 4000 − 5000 Zeile Tief ist?
    und die zweite Frage: Um alle Daten einzulesen brauche ich ja im Prinzip eine verschachtelte Schleife oder? Also einmal von 0 (A) bis 98 (CR), diese schleife indem ich das array fülle, von 5 (erste Zeile) bis LngLetzte (Letzte beschriebene Zeile) -> das am besten über
    herausfinden.

    Wäre das mal ein Anfang? und gibts bei Arrays noch tipps?

    Gruß und vielen Dank bisher
    Nico
     
    N123456789, 2. Juli 2013
    #7
  8. maninweb
    maninweb MVP für Microsoft Excel

    Hilfe Synchronisationsproblem

    Hallo Nico,

    wenn ich so nachdenke, braucht Du kein Array, eine Collection reicht völlig aus. Die Collection merkt sich die ID's und Zeilennummern. Die ID's liest Du einmal ein. Und danach gehst Du die Quelldaten in einer Schleife durch. Anbei mal ein Beispielcode. habe Dir auch eine Mappe hochgeladen, wo zwei Beispieltabellen drin sind.

    Code:
    Option Explicit
    
    
    Public Sub Synchronsieren()
    
    
      Dim objKeys    As Collection
      
      Dim lngIndex   As Long
      Dim lngLast    As Long
      
      Dim strTarget  As String
      Dim strSource  As String
      Dim strRow     As String
      
    ' Fehler übergehen...
      
      On Error Resume Next
      
    ' Tabellen...
      
      strTarget = "Zieltabelle"
      strSource = "Quelltabelle"
      
    ' Colelction...
      
      Set objKeys = New Collection
      
    ' Letzte Zeile (kannst Du auch dynamisch ermitteln)
      
      lngLast = 20
      
    ' Einlesen der ID's, die Grenzen kannst Du anpassen,
    ' z.B. wie Du in Deinem Beitrag geschrieben hattest
      
      With ThisWorkbook.Worksheets(strTarget)
        
        For lngIndex = 4 To 19
          
          objKeys.Add CStr(lngIndex), .Cells(lngIndex, 2).Value
          
        Next
      
      End With
      
    ' Testen...
      
      MsgBox objKeys.Count
      
    ' Zweite Schleife
      
      With ThisWorkbook.Worksheets(strSource)
        
    '   Quelltabelle...
        
        For lngIndex = 4 To 24
          
    '     Versuch, ob der Schlüssel in der Zieltabelle existiert
    '     Falls nicht, dann ensteht ein Fehler, den wir übergehen
    '     und die Variable strRow bleibt leer
          
          strRow = ""
          strRow = objKeys(.Cells(lngIndex, 2).Value)
          
    '     Prüfen
          
          If Len(strRow) > 0 Then
          
    '       Datum und Uhrzeit vergleichen
            
            If CDbl(.Cells(lngIndex, 3).Value) > _
               CDbl(ThisWorkbook.Worksheets(strTarget).Cells(CLng(strRow), 3).Value) Then
              
    '         Überschreiben...
              
              ThisWorkbook.Worksheets(strTarget).Cells(CLng(strRow), 3).Value = .Cells(lngIndex, 3).Value
              ThisWorkbook.Worksheets(strTarget).Cells(CLng(strRow), 4).Value = .Cells(lngIndex, 4).Value
              
            End If
            
          Else
            
    '       Neuer Datensatz, hinten dranhängen
            
            ThisWorkbook.Worksheets(strTarget).Cells(lngLast, 2).Value = .Cells(lngIndex, 2).Value
            ThisWorkbook.Worksheets(strTarget).Cells(lngLast, 3).Value = .Cells(lngIndex, 3).Value
            ThisWorkbook.Worksheets(strTarget).Cells(lngLast, 4).Value = .Cells(lngIndex, 4).Value
            
    '       Erhöhen...
            
            lngLast = lngLast + 1
            
          End If
          
        Next
        
      End With
      
    ' Aufräumen...
      
      Set objKeys = Nothing
      
    End Sub
    
    Damit das Ganze aber funktioniert, müssen die ID's eindeutig sein (die Spalte mit den K*) und am besten auch keine Zahlen sein. Falls Du z.B. Kundennummern als Zahlen hast, kannst Du eine Hilfsspalte verwenden: ="K"&X1 (X1 = Zelle mit Kundennummer). Und, um die letzte Zeile usw. herauszufinden, kannst Du so vorgehen, wie Du oben selber vorgeschlagen hast. Beachte aber bitte, immer vollständig zu referenzieren. (Workbooks(...).Cells(...))

    Gruß
     

    Anhänge:

    maninweb, 2. Juli 2013
    #8
  9. N123456789 Erfahrener User
    Hallo Maninweb,

    wow vielen herzlichen Dank dafür. Das ist schon viel mehr als ich erwartet hatte. Ich werde mich nun schritt für schritt ranmachen deinen Ansatz abzuändern. Ich werde mich sicher früher oder später wieder melden.
    Noch einmal vielen herzlichen Dank.
    Gruß Nico
     
    N123456789, 2. Juli 2013
    #9
  10. maninweb
    maninweb MVP für Microsoft Excel
    Hallo Nico,

    Gern geschehen :-) Wenn Du Fragen hast, gerne hier im Forum.

    Gruß
     
    maninweb, 2. Juli 2013
    #10
Thema:

Hilfe Synchronisationsproblem

Die Seite wird geladen...
  1. Hilfe Synchronisationsproblem - Similar Threads - Hilfe Synchronisationsproblem

  2. Hilfe bei Haushaltsbuch -evtl. SVERWEIS mit 2 Suchargumenten

    in Microsoft Excel Hilfe
    Hilfe bei Haushaltsbuch -evtl. SVERWEIS mit 2 Suchargumenten: Hallo, ich bin dabei mir ein neues Haushaltsbuch zu erstellen, wobei ich bitte eure Hilfe benötige (siehe Anlage). Ich habe monatliche Fixausgaben (z. B. Strom, Wasser, Gas etc.) welche ich mir...
  3. Hilfe bei Zählenwenn

    in Microsoft Excel Hilfe
    Hilfe bei Zählenwenn: Hallo Zusammen, ich brauche Unterstützung bei der Erstellung einer Formel. Ich brauche eine Möglichkeit verschiedene Text-Werte zu zählen. Habe es mit zählenwenn(Bereich; Kriterium) versucht....
  4. Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche)

    in Microsoft Excel Hilfe
    Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche): Hallo zusammen, ich arbeite mit einer Excel-Arbeitsmappe, die mehrere Tabellenblätter enthält. Jedes Blatt dokumentiert bestimmte Vorgänge, und die Struktur der Daten ist in allen Blättern...
  5. Hilfe bei "Zählenwenns"

    in Microsoft Excel Hilfe
    Hilfe bei "Zählenwenns": Liebe Experten! Bis jetzt hab ich durch durchforsten des Forums immer Hilfe gefunden. Diesmal leider nicht! Mein Problem: Ich habe einen Planer übernommen und ihn auf "dynamisch" umgestellt. Das...
  6. Hilfe Excel Formel

    in Microsoft Excel Hilfe
    Hilfe Excel Formel: Hallo, was muss ich bei der Formel verändern, um ein Ergebnis zu erhalten? Möchte in Zelle R7 wenn z.B. Feiertag steht, dass die Sollarbeitszeit berechnet wird und wenn in den Zellen M7-Q7 Zeiten...
  7. Benötige Hilfe bei SQL-Befehl

    in Microsoft Access Hilfe
    Benötige Hilfe bei SQL-Befehl: Hallo zusammen und alles Gute für 2025 Es ist mal wieder Sale-Zeit und jetzt müssen bei vielen Artikel zu eine festgesetzten Zeit die VK-Preise geändert werden. Man kann das in unserem...
  8. Hilfe bei der Diagrammerstellung in Excel

    in Microsoft Excel Hilfe
    Hilfe bei der Diagrammerstellung in Excel: Hallo miteinander, ich habe Messdaten einer Temperaturüberwachung, mit denen ich gerade ein wenig spiele und Einstellungen teste. Dazu habe ich mir ein Excel-Blatt gebaut, auf dem ich alle...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden