Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 12:20:42
Bertram
Hallo zusammen,
ich bekomme seit Neuestem beim Speichern einer Datei (mittels VBA) manchmal eine Fehlermeldung. Ich habe zwar schon im Archiv gesucht, aber nix gefunden. Wahrscheinlich liegt's an meinen Suchbegriffen, denn ich hab die Fehlermeldung noch nie vorher gesehen und weiß nicht, wie sie korrekt (sinngemäß natürlich schon) auf deutsch heißt.
Ich habe vor ca. 7 Jahren eine Excel-Vorlage (XLT) erstellt, die alle 3 Monate mit Daten aktualisiert wird. Unsere Mitarbeiter weltweit nutzen diese Vorlage. Der User arbeitet ausschließlich über UserForms. Vereinfacht gesagt, werden die Eingaben in ein Tabellenblatt übertragen, dieses kopiert als neue Datei und per LN versandt. Eine weitere, aus dem Code neue erstellte Datei wird ebenfalls an die Mail angehängt.
Um die Dateien als Anhang zu verwenden, muss ich sie natürlich erst mal speicher. Das geschieht alles im Hintergrund. nach dem Mailversand werden die Dateien wieder gelöscht und die Vorlage ohne speichern wieder geschlossen.
Der User hat zu keiner Zeit die Möglichkeit Tabellenblätter zu ändern, sie zu löschen oder neue hinzuzufügen.
Nun das Problem:
Das Speichern der neu erstellten Datei (mit .ADD) funktioniert immer problemlos.
Das Speichern der neuen Datei mit kopiertem Tabellenblatt (mit .COPY) funktioniert nur ab und zu.
Fehlermeldung: Save 'BookX' with references to unsaved documents? Buttons: OK und CANCEL
Drücke ich OK funktioniert alles wieder Bestens.
Drücke ich CANCEL kommt die bekannte Meldung "Wollen Sie Änderungen in blabla speicher?"
Wird diese auch mit CANCEL bestätigt, läuft mein Code logischerweise in einen Fehler, da er die (nichtgespeicherte) Datei mittels KILL löschen will.
Num dachte ich es liegt evtl. daran, dass manche User die Vorlage direkt öffnen (die ist ja gespeichert) oder eben aus der Vorlage eine neue Datei erstellen (die ist noch nicht gespeichert) und dann der Fehler auftritt. Wäre zwar komisch, denn an der Prozedur hab ich seit 5 Jahren nix mehr geändert, aber man weiß ja nie.
Warum ich hier so viel Prosa schreibe, liegt wieder mal daran, dass ich versucht habe eine Bsp.-Datei für's Forum zu erstellen, die den Fehler nachstellt und siehe da, der Fehler tritt NICHT auf, egal, ob ich die Vorlage direkt öffne oder sie als selbige verwende.
Hat jemand das gleiche Problem schon gehabt oder kann mir zumindest jemand sagen, was mir die Fehlermeldung GENAU sagen will?
Den einzigen Bezug der zu speichernden Datei zur Vorlage ist der, dass das TB kopiert wird. Dort sind aber keine Formel etc. enthalten.
Wenn ic hweiss woher der Fehler kommt, kann ich ihn ja abstellen oder zumindest ein Würgaround bauen, aber so?:-(
Danke für's viele Lesen und hoffentlich gute Tipps.
Gruß
Bertram
PS: hier doch noch die Datei: https://www.herber.de/bbs/user/60004.xlt
SAGT MIR ABER NICHT, DASS DIE DATEI FUNKTIONIERT! DAS WEISS ICH SCHON, ABER DER CODE IST DER SELBE WIE IM ORIGINAL, IN DEM ES NICHT GEHT.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 13:06:40
D.Saster
Hallo,
Fehler auf deutsch:
'BookX' mit Bezügen zu nicht gespeicherten Dateien speichern?
Zum Nachvollziehen: Erstelle 2 neue Mappen, setze einen Bezug in Mappe2 zu Mappe1 und versuche, Mappe2 zu speichern. Dann kommt die Frage.
Gruß
Dierk
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 13:28:01
Bertram
Hallo D.Saster,
ok, habe dein BSP nachvollzogen und die Fehlermeldung erscheint. Mein Problem ist nur, es funktionierte jahrelang OHNE Fehlermeldung UND es gibt wie gesagt keine Bezüge zur andere Datei. Habe gerade getestet
In Book47 A1 : =Book46!A1 , beide Mappen nicht gespeichert. Folge: Fehler
Hast du noch ne Idee?
Gruß
Bertram
Anzeige
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 13:30:24
Jogy
Hi.
Probier es mal damit:

' Entfernt Vernüpfungen aus dem übergebenen Workbook
Sub entFerneLinks(ByRef myWbk As Workbook)
Dim myLinks As Variant
Dim i As Long
' Verknüpfungen auslesen
myLinks = myWbk.LinkSources(Type:=xlLinkTypeExcelLinks)
' Verknüpfungen löschen, sofern vorhanden
If Not IsEmpty(myLinks) Then
For i = 1 To UBound(myLinks)
myWbk.BreakLink naMe:=myLinks(i), Type:=xlLinkTypeExcelLinks
Next
End If
End Sub

Du mußt nur an die Prozedur das zu speichernde Workbook übergeben, dann werden alle Verknüpfungen entfernt.
Gruss, Jogy

Anzeige
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 14:11:04
Bertram
Hallo Jogy,
danke erstmal.
Bevor ich dein Code (ist ja im Prinzip auch schon ein Würgaround) ausprobiert habe, wollt ihc doch noch feststellen, warum es mal geht und mal nicht. Fehlanzeige.
Nun zu deinem Code:
BreakLink kennt mein BA nicht. Warum? Brauch ich da noch ne andere Bibliothekenreferenz?
Mein sonst bekanntes ChangeLink funzt hier natürlich auch nicht wie gewünscht.
Gruß
Bertram
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 14:20:51
Bertram
Noch offen
Gruß
Bertram
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 14:21:29
Jogy
Hi.
Bei mir sind als Verweise nur
Visual Basic for Application
und
Microsoft Excel 11.0 Object Library
vorhanden.
Und damit geht es auch.
Gruss, Jogy
Anzeige
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 14:36:12
Bertram
Hallo Jogy,
Ich habe aber nur Excel 2000, also 9.0
Gruß
Bertram
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 14:41:35
Jogy
Hi.
Sorry, habe ich hier leider nirgends, kann es also nicht testen. Porbier doch mal mit dem Makrorecorder aus, welche Befehle er benutzt, wenn Du die Verknüpfungen entfernst.
Gruss, Jogy
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 15:04:53
Bertram
Hi,
ich würde die Findlink.xla benutzen, wenn ich das Problem sonst hätte, was ich nicht habe. Aber das kommt in dem Fall ja nicht in Frage.
Noch ne Idee?
Gruß
Bertram
AW: Kopiertes Tabellenblatt aus Vorlage speichern
05.03.2009 15:05:05
Bertram
Hi,
ich würde die Findlink.xla benutzen, wenn ich das Problem sonst hätte, was ich nicht habe. Aber das kommt in dem Fall ja nicht in Frage.
Noch ne Idee?
Gruß
Bertram
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige