Excel worksheet aktualisieren

  • Excel

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Excel worksheet aktualisieren

    Hallo zusammen,

    ich habe folgendes Problem. Wir haben eine Excel Datei auf einem Laufwerk abgespeichert. Diese wird von einer Person meist durchgängig abgeändert.
    Die restlichen User greifen nur lesend darauf zu.

    Bisher konnten die User die geöffnete Datei über einen Button "aktualisieren", sodass die Datei nicht erst erneut geöffnet werden musste um die aktuellen Daten zu einzusehen.
    Ab Office 2019 funktioniert dies leider nicht mehr.

    Das VBA sieht folgendermaßen aus:

    Visual Basic-Quellcode

    1. [/b][i][b]Sub aktualisieren()
    2. Application.DisplayAlerts = False
    3. Workbooks.Open Filename:=ThisWorkbook.FullName, UpdateLinks:=0, ReadOnly:=True
    4. Application.DisplayAlerts = True
    5. End Sub[/b]
    6. [/i]

    Ich selbst kenne mich leider in diesem Thema zu wenig aus, um hier eine ordentliche Lösung zu finden.

    Ich bedanke mich vorab für eure Hilfe! :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ToeG“ ()

    Welche Office-Version hatte ihr denn zuvor?
    Habt hier die Möglichkeit die Daten in einem Sharepoint oder OneDrive abzulegen? Darüber macht Excel sowas mit den neuen Versionen. Davor hätte ich dies ohne Makro mit der Freigabe gelöst.

    Ich würde den Code aus der aktuellen Datei in eine Excel-Add-In auslagern und dort den Button "Aktualisieren" in das Ribbon verlagern.
    Der Code könnte dann so aussehen:

    Visual Basic-Quellcode

    1. ​Sub aktualisieren()
    2. Dim strDateiname as String
    3. strDateiname =ActiveWorkbook.FullName
    4. If ActiveWorkbook.Name <> "DATEINAME" Then Exit Sub
    5. ActiveWorkbook.Close False
    6. Workbooks.Open Filename:=strDateiname, UpdateLinks:=0, ReadOnly:=True
    7. End Sub

    Bei Dateiname muss dann noch der Name der Datei rein.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Wir hatten vorher Office 2016 im Einsatz, hier läuft das Makro auch nach wie vor ohne Probleme.
    Unter Office 2019 erhalte ich keine Fehlermeldung oder ähnliches, es kommt mir so vor als würde es einfach nicht ausgeführt werden.

    Ein anderer Gedanke war, die Datei alle 5Sek zu aktualisieren, sobald der Benutzer schreibgeschützten Zugriff hat.
    Die Datei wird auch aktualisiert, wenn ich das Makro manuell ausführe. Allerdings erhalte ich danach den Fehler "... Die Arbeitsmappe.UpdateTimer kann nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar, oder alle Makros wurden deaktiviert.

    Habt ihr hier eventuell noch eine Idee?

    Visual Basic-Quellcode

    1. Private Sub Workbook_Open()
    2. If ThisWorkbook.ReadOnly = True Then
    3. UpdateTimer
    4. End If
    5. End Sub
    6. Sub UpdateTimer()
    7. Application.OnTime (Now() + TimeValue("00:00:05")), "DieseArbeitsmappe.UpdateTimer"
    8. On Error Resume Next
    9. ThisWorkbook.UpdateFromFile
    10. End Sub

    ToeG schrieb:

    Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar, oder alle Makros wurden deaktiviert.
    ist doch eigentlich selbsterklärend.
    Entweder die Makro-Ausführung ist deaktiviert (was ich nicht glaube, da Workbook_Open ja anscheinend anläuft) oder das Makro kann nicht gefunden werden.
    Schick mal einen Screenshot der IDE, wo das Makro ersichtlich ist (incl. dem Projekt-Explorer-Fenster).
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    petaod schrieb:

    ToeG schrieb:

    Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar, oder alle Makros wurden deaktiviert.
    ist doch eigentlich selbsterklärend.
    Entweder die Makro-Ausführung ist deaktiviert (was ich nicht glaube, da Workbook_Open ja anscheinend anläuft) oder das Makro kann nicht gefunden werden.
    Schick mal einen Screenshot der IDE, wo das Makro ersichtlich ist (incl. dem Projekt-Explorer-Fenster).
    Bilder
    • tempsnip.png

      46,27 kB, 1.230×383, 84 mal angesehen