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

Forumthread: Speichern nicht möglich - Anderer Nutzer

Speichern nicht möglich - Anderer Nutzer
08.05.2022 20:18:51
Max_Danger
Hallo zusammen,
leider habe ich noch immer ein Problem mit meinen Excel Abfragedateien.
Zum Aufbau
Es gibt mehrere Excel Dateien (Abfragen), welche mit Hilfe eines Makros alle paar Sekunden Daten abrufen und die Exceldatei sich anschließend automatisch abspeichert.
Darüber hinaus existiert eine Excel Datei (Master) welche mittels Power Query die Daten abruft und zusammenfasst. Diese Aktualisierung wird auch von einem Makro alle x Sekunden gestartet.
Problemstellung
Es kommt immer wieder vor, dass bei einer der "Abfragedateien" ein Hinweisfenster auftaucht.
Der Hinweis lautet: "Abfrage.xlsm wird momentan von einer anderen Person bearbeitet. Versuchen Sie es später noch einmal"
Nachdem ich den Hinweis mit "OK" bestätige läuft alles wie gewohnt weiter.
Makro Code (Abfragedatei)
Code:
Option Explicit

Sub Datenactual()
' Makro1 Makro
Application.DisplayAlerts = False
Const cRepeat As Integer = 50        ' Anzahl Wieder-Versuche nach Fehler
Dim iRepCnt As Integer
Windows("Abfrage.xlsm").Activate
ActiveWorkbook.RefreshAll
On Error Resume Next
Do
Err.Clear
ActiveWorkbook.Save
Select Case Err.Number
Case 1004
If iRepCnt = cRepeat Then
MsgBox "Abbruch, nach " & cRepeat & " Fehlversuchen!", vbCritical + vbOKOnly, "Fehler : " & Err.Number
On Error GoTo 0
Exit Sub
Else
iRepCnt = iRepCnt + 1
End If
Case Is  0
MsgBox Err.Description, vbCritical + vbOKOnly, "Fehler : " & Err.Number
End Select
Loop While Err.Number = 1004 And iRepCnt 
Hat jemand vlt. eine Idee, wie ich das Hinweisfenster unterdrücken kann, bzw. wo der Fehler liegt?
Ziel ist es, dass die Abfragedateien es so lange versuchen sich zu speichern, bis es funktioniert und anschließend weiter laufen.
Sprich es soll der Fehler "einfach" übergangen werden.
(Aktuell durch manuelles drücken des "OK" Buttons.)
Über Hilfe würde ich mich sehr freuen.
Vielen Dank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
09.05.2022 00:56:31
oraculix
Versuch es mal so!
Wurde nicht getestet da ich ja die Mappe nicht sehe.

Sub Datenactual()
' Makro1 Makro
Const cRepeat As Integer = 50        ' Anzahl Wieder-Versuche nach Fehler
Dim iRepCnt As Integer
Windows("Abfrage.xlsm").Activate
ActiveWorkbook.RefreshAll
On Error Resume Next
Do
Err.Clear
Application.DisplayAlerts = False
ActiveWorkbook.Save
Application.DisplayAlerts = True
Select Case Err.Number
Case 1004
If iRepCnt = cRepeat Then
MsgBox "Abbruch, nach " & cRepeat & " Fehlversuchen!", vbCritical + vbOKOnly, "Fehler : " & Err.Number
On Error GoTo 0
Exit Sub
Else
iRepCnt = iRepCnt + 1
End If
Case Is  0
MsgBox Err.Description, vbCritical + vbOKOnly, "Fehler : " & Err.Number
End Select
Loop While Err.Number = 1004 And iRepCnt 
Gruß
Oraculix
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
09.05.2022 02:14:59
Max_Danger
Hallo Oraculix,
vielen Dank für die schnelle Rückmeldung :)
Ich habe den Code entsprechend angepasst.
Leider erhalte ich immer noch die Fehlermeldung.
Ich habe die entsprechende Excel Datei zu besseren Verständnis einmal hoch geladen.
Excel Datei: https://www.herber.de/bbs/user/152947.xlsm
Vlt. hilft es besser den Sachverhalt zu verdeutlichen.
Vg
Max
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
09.05.2022 09:49:53
Rudi
Hallo,
die Meldung kommt vom Betriebssystem und nicht von Excel. Deshalb ist es auch kein Error und nicht abfangbar.
Versuch mal:

Sub xxxx()
Dim iVersuche As Integer
Const cVersuche As Integer = 50
Application.DisplayAlerts = False
With ThisWorkbook
.RefreshAll
Do
.Save
Loop Until .Saved Or iVersuche = cVersuche
If Not .Saved Then MsgBox "Datei wurde nicht gespeichert!", , "gebe bekannt..."
End With
Application.DisplayAlerts = True
End Sub
Gruß
Rudi
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
10.05.2022 09:38:52
Max_Danger
Hallo Rudi,
vielen Dank für deine Rückmeldung.
Leider hat dein Ansatz nicht zum gewünschten Erfolg geführt.
Die Fehlermeldung erscheint nach wie vor.
Zusätzlich erhalte ich nun wieder den Laufzeitfehler "1004".
Viele Grüße
Max
AW: Speichern nicht möglich - Anderer Nutzer
09.05.2022 16:31:30
Yal
Hallo Max,
speichert deine Daten als txt-Datei anstatt xls*. Auf txt-Datei gibt es keine Reservierungsflag, was der Grund ist, warum Windows den Schreibzugriff verweigert, während die Datei durch deine Power Query aktualisiert wird.
VG
Yal
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
10.05.2022 10:13:25
Max_Danger
Hallo Yal,
vielen Dank für Deine Idee.
Das klingt nach einem interessanten Lösungsansatz.
Wie müsste es denn umgesetzt werden?
Die empfangenen Daten werden in der Tabelle "Json..." ausgegeben.
Diese Tabelle müsste ich anschließend in ein neues Tabellenblatt kopieren und danach das Tabellenblatt als .txt abspeichern?
VG
Max
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
10.05.2022 11:06:46
Yal
Hallo Max,
Man kann auch den Inhalt des Blattes Zeile für Zeile ins txt-Datei überbringen. Performance-mässig ist es gleich.
https://docs.microsoft.com/de-de/office/vba/language/reference/user-interface-help/createtextfile-method

Sub BlattInhatInsDatei_schreiben()
Dim fs As Object
Dim Dat As Object
Dim Z, Sp
Dim msg As String
Const cAnzSp = 10
Set fs = CreateObject("Scripting.FileSystemObject")
Set Dat = fs.CreateTextFile("c:\testfile.txt", True)
With Worksheets("json")
'für alle Zeilen
For Each Z In Range(.Range("A2"), .Range("A99999").End(xlUp))
'für ein festgelegte Anzahl an Spalten
msg = ""
For Sp = 0 To cAnzSp - 1
msg = msg & ";" & Z.Offset(0, Sp)
Next
'ins Datei schreiben, erst ab 2te Stelle um führende ";" zu überspringen
Dat.WriteLine Mid(msg, 2)
Next
End With
Dat.Close
End Sub
VG
Yal
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
11.05.2022 03:09:26
Max_Danger
Hallo Yal,
vielen Dank, das ist wirklich genial. Nach meinem ersten Eindruck scheint es wie gewünscht zu funktionieren.
Jetzt stehe ich nur noch vor der Herausforderung, dass die Textdateien korrekt mittels Power Query eingelesen werden.
Power Query legt die Zahlenfelder automatisch als Dezimalfeld fest. Was meiner Ansicht nach auch korrekt ist.
Leider werden die Zahlenwerte wie bspw. 0,00457 folgendermaßen wiedergegeben: 457
Ich bin noch nicht auf die passende Lösung gestoßen.
Vermutlich liegt es an der Codierung?
Hast Du hierzu auch eine Lösung? :)
VG
Max
Anzeige
AW: Speichern nicht möglich - Anderer Nutzer
11.05.2022 08:48:15
Yal
Genau. Es scheint zu sein, als das Speichern mit einem Coding (z.B en) und das Lesen mit einem anderen (de).
Im Power Query Editor kann man die Lade-Einstellung der Abfrage unter "Datei", "Abfrageoptionen", "Aktuelle Arbeitsmappe", "Regionale Einstellung" beeinflüssen, oder bei den Datentyp Links der Spaltenüberschrift "mit Gebietsschema..."
VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Speichern nicht möglich: Lösungen für Excel-Probleme


Schritt-für-Schritt-Anleitung

  1. Überprüfe die Datei: Stelle sicher, dass die Excel-Datei nicht bereits von jemand anderem geöffnet ist. Wenn die Meldung "Excel wird momentan von einer anderen Person bearbeitet" erscheint, kann das die Ursache sein.

  2. Speichern unter: Versuche, die Datei über "Speichern unter" in ein neues Verzeichnis oder mit einem neuen Namen zu speichern. Manchmal kann dies helfen, wenn die ursprüngliche Datei Probleme hat.

  3. Makro anpassen: Wenn du ein Makro verwendest, um die Datei automatisch zu speichern, stelle sicher, dass der Code richtig implementiert ist. Überprüfe, ob Application.DisplayAlerts auf False gesetzt ist, um Warnmeldungen zu unterdrücken.

  4. Betriebssystem prüfen: Manchmal kann der Fehler "Excel das Betriebssystem ist momentan nicht zum Ausführen" aufgrund von Systemproblemen auftreten. Starte deinen Computer neu und versuche es erneut.


Häufige Fehler und Lösungen

  • Excel speichert nicht: Überprüfe, ob du die Datei in einem schreibgeschützten Modus geöffnet hast. Schließe Excel und öffne die Datei erneut.

  • Excel kann nicht gespeichert werden: Wenn die Datei in einem Netzwerkordner gespeichert ist, könnte es an Berechtigungen liegen. Stelle sicher, dass du die notwendigen Rechte hast.

  • Excel Fehler 1004: Dieser Fehler kann auftreten, wenn Excel mit einer Datei arbeitet, die von einem anderen Prozess oder Benutzer gesperrt ist. Überprüfe den Task-Manager und schließe gegebenenfalls andere Excel-Prozesse.


Alternative Methoden

  • Speichern als TXT-Datei: Wenn das Speichern der Excel-Datei nicht möglich ist, kannst du die Daten als Textdatei speichern. Dies kann helfen, wenn die Excel-Datei Probleme hat. Nutze dafür die CreateTextFile-Methode.

  • Power Query verwenden: Um Daten aus externen Quellen zu importieren, nutze Power Query. Das hilft, die Daten in Excel zu verarbeiten, auch wenn die Datei nicht gespeichert werden kann.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Inhalt einer Tabelle zeilenweise in eine TXT-Datei schreiben kannst:

Sub BlattInhatInsDatei_schreiben()
    Dim fs As Object
    Dim Dat As Object
    Dim Z, Sp
    Dim msg As String
    Const cAnzSp = 10
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set Dat = fs.CreateTextFile("c:\testfile.txt", True)
    With Worksheets("json")
        For Each Z In Range(.Range("A2"), .Range("A99999").End(xlUp))
            msg = ""
            For Sp = 0 To cAnzSp - 1
                msg = msg & ";" & Z.Offset(0, Sp)
            Next
            Dat.WriteLine Mid(msg, 2)
        Next
    End With
    Dat.Close
End Sub

Tipps für Profis

  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung in deinem Makro, um festzuhalten, wann und wo Fehler auftreten. Das hilft dir, Probleme schneller zu identifizieren.

  • Regelmäßige Backups: Erstelle regelmäßige Backups deiner Excel-Dateien, um Datenverlust zu vermeiden. Nutze Cloud-Dienste oder externe Festplatten für zusätzliche Sicherheit.

  • Optimierung der Makros: Stelle sicher, dass deine Makros effizient sind. Vermeide unnötige Schleifen und verwende With-Anweisungen, um den Code zu optimieren.


FAQ: Häufige Fragen

1. Warum kann ich Excel nicht speichern?
Das kann verschiedene Gründe haben, unter anderem, dass die Datei von jemand anderem geöffnet ist oder dass du keine Schreibrechte hast.

2. Warum speichert Excel meine Änderungen nicht?
Wenn Excel das Dokument nicht speichern kann, kann dies an einem Fehler im Betriebssystem oder an einem gesperrten Dokument liegen.

3. Was kann ich tun, wenn Excel eine Datei nicht speichert?
Versuche, die Datei unter einem anderen Namen zu speichern, überprüfe die Berechtigungen und starte Excel neu, um temporäre Probleme zu beheben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige