1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel-Datei doppelt speichern

Discussion in 'Office-Programme' started by Amt14, Oct 10, 2005.

Thread Status:
Not open for further replies.
  1. Amt14

    Amt14 Kbyte

    Hallo zusammen,

    weiß jemand einen Weg, wie ich Excel dazu bringen kann, dass es eine Datei gleichzeitig an zwei verschiedenen Orten speichert?
    Hintergrund der Angelegenheit ist, dass ich einen Vordruck habe, den ich ungefähr 100x mit jeweils einem anderen Namen und anderen Daten an zwei verschiedenen Orten im Netzwerk speichern muss. Wenn ich die Speicherprozedur mit einem Makro aufzeichne, haut das nicht hin, da ich das Makro in jeder Datei (wegen des anderen Namens) jedesmal ändern oder das Makro ganz neu aufzeichnen muss.
    Wenn jemand eine Lösung hätte, wäre das super!

    Wolfgang
     
  2. Geertakw

    Geertakw Kbyte

    Hi

    Das Abspeichern als Makro aufzeichnen - allerdings bei
    'speichern in'
    im dropdown des Dialogs
    'Persönliche Makroarbeitsmappe'
    auswählen.

    Der Makro steht damm immer (dem aktuellenn Benutzer ) zur Verfügungng - für das Aufrufen kann man einen eigenen Button in eine Symbolleiste installieren und mit diesem Makro verknüpfen.

    HTH
    G.
     
  3. Amt14

    Amt14 Kbyte

    Hab ich ja gemacht, Das Problem ist dabei nur, dass der Name der Datei im Makro mit gespeichert wird und ich vor jedem weiteren Abspeichern des Vordrucks unter einem anderen Namen ich den Namen im aufgezeichneten Makro manuell ändern muss, weil der Vordruck sonst jedesmal unter dem Namen, der bei der Aufzeichnung des Makros angegeben war, gespeichert wird.

    Wolfgang
     
  4. Geertakw

    Geertakw Kbyte

    Hi

    Den Dateinamen vorher mit dem ensprechen Systemdialog eingeben:

    Sub speichern()
    datei = Application.GetSaveAsFilename(InitialFileName:="", Filefilter:="Excel Dateien (*.xl*),*.xl*,Alle Dateien (*.*),*.*")
    If dateiname <> "Falsch" Then
    ActiveWorkbook.SaveAs Filename:=datei, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
    End If
    End Sub

    HTH
    G.
     
  5. Amt14

    Amt14 Kbyte

    Hi,

    Vielen Dank, aber leider verstehe ich von VBA-Programmierung wenig bis gar nichts. Vielleicht kannst Du mir helfen, mein Makro mit Deinem zu verbinden. Mein Makro sieht folgendermaßen aus:

    Sub Speichern_auf_R_und_U()
    '
    ' Speichern_auf_R_und_U Makro
    ' Makro am 11.10.2005 von wolfgang.doerflein aufgezeichnet
    '

    '
    ChDir "R:\Excel\Kassenprüfungen\Fertige Berichte\14-3\2005"
    ActiveWorkbook.SaveAs Filename:= _
    "R:\Excel\Kassenprüfungen\Fertige Berichte\14-3\2005\Zahlstellen.xls", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
    ChDir "U:\Excel\Kassenprüfungen\Fertige Berichte\2005"
    ActiveWorkbook.SaveAs Filename:= _
    "U:\Excel\Kassenprüfungen\Fertige Berichte\2005\Zahlstellen.xls", FileFormat _
    :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
    False, CreateBackup:=False
    End Sub

    Meine Vorlagendatei heißt Zahlstellen.xls;
    Gespeichert werden soll sie in den Verzeichnissen:
    a) R:\Excel\Kassenprüfungen\Fertige Berichte\14-3\2005
    b) U:\Excel\Kassenprüfungen\Fertige Berichte\2005

    Wäre nett von Dir.

    Wolfgang
     
  6. Amt14

    Amt14 Kbyte

    Nachtrag:

    Wenn ich ausschließlich Dein Makro verwende, bekomme ich immer eine Fehlermeldung; ist Dir ein Schreibfehler unterlaufen?

    Wolfgang
     

    Attached Files:

  7. Geertakw

    Geertakw Kbyte

    Hi

    Leider kann ich die Fehlermeldung nicht anzeigen lassen ( PC-Welt behauptet ich sei nicht angemeldet - obwohl ich posten kann )

    Vielleicht liegt der Fehler darin , daß die Zeile

    datei = Application.GetSaveAsFilename(InitialFileName:="", Filefilter:="Excel Dateien (*.xl*),*.xl*,Alle Dateien (*.*),*.*")

    fehlerhaft umgebrochen wird.
    Alles gehört in eine Zeile!

    Der Makro wurde ( nach Test ) so aus dem VBA-Editor kopiert.

    Ich fürchte allerdings, daß der Makro das Problem nicht lösen wird.

    Wenn ich es recht verstehe, soll die Datei in zwei Verzeichnisssen parallel gespeichert werden.
    Soll dabei der Dateiname gleich bleiben - die bisherige Kopie also überschreiben?

    Gruß
    G.
     
  8. Amt14

    Amt14 Kbyte

    Hi,

    Die Zeile wurde im Makro nicht umgebrochen.

    Die Fehlermeldung lautet:
    "Laufzeitfehler '1004'
    Auf die Datei konnte nicht zugegriffen werden. Versuchen Sie folgende Lösungsvorschläge:
    Überprüfen Sie, ob der angegebene Ordner existiert,
    Stellen Sie sicher, dass der Ordner, in dem sich die Datei befindet, nicht schreibgeschützt ist,
    Vergewissern Sie sich, dass der Dateiname keines der folgenden Zeichen enthält: < > ? [ ] : | oder *
    Der Dateiname darf nicht länger sein als 218 Zeichen."
    Dann habe ich die Möglichkeit zu beenden oder zu debuggen.
    Alle 4 angeführten Fehlerquellen treffen nicht zu.

    Die Ausgangsdatei, also der Vordruck zahlstellen.xlt, wird für jede der ca. 100 Zahlstellen entsprechend den dort vorliegenden finanziellen Verhältnissen individuell ausgefüllt und dann unter dem Namen der jeweiligen Zahlstelle in den beiden o.g. Verzeichnissen auf den Laufwerken R: und U: abgespeichert, also unter identischem Namen aber an zwei verschiedenen Stellen.

    Wolfgang
     
  9. Geertakw

    Geertakw Kbyte

    Seltsam

    Auf dem Rechner, an dem ich jetzt sitze, macht er das auch.
    ( Excel hängt intern noch ein .xl* an den Dateinamen und macht ihn damit ungültig )

    So funktioniert es aber ( auch auf diesem Rechner ):

    Sub speichern()
    dateiname = Application.GetSaveAsFilename(InitialFileName:="", Filefilter:="Excel Dateien (*.xls),*.xl?,Alle Dateien (*.*),*.*")
    If dateiname <> "Falsch" Then
    On Error GoTo exsub
    ActiveWorkbook.SaveAs Filename:=dateiname, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
    End If
    Exit Sub
    exsub:
    End Sub

    Das on error goto vehindert eine Fehlermeldung, wenn man beim Versuch eine Datei zu überschreiben, das procedere abbricht.

    Gruß
    G.
     
  10. Amt14

    Amt14 Kbyte

    Hi,

    das Makro funktioniert!
    Gibt es auch eine Möglichkeit, dass ich beide Speicherungen in einem Rutsch vornehme? Nachdem ich mit dem Makro in das voreingestellte Laufwerk U: komme, habe ich folgendes versucht, aber das haut nicht hin:

    Sub speichern()
    dateiname = Application.GetSaveAsFilename(InitialFileName:="", Filefilter:="Excel Dateien (*.xls),*.xl?,Alle Dateien (*.*),*.*")
    If dateiname <> "Falsch" Then
    On Error GoTo exsub
    ActiveWorkbook.SaveAs Filename:=dateiname, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
    ChDir "R:\Excel\Kassenprüfungen\Fertige Berichte\14-3\2005"
    ActiveWorkbook.SaveAs Filename:=dateiname, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False

    End If
    Exit Sub
    exsub:
    End Sub

    Wolfgang
     
  11. Geertakw

    Geertakw Kbyte

    Hi

    Wenn es darum geht die Datei mit frei wählbarem Namen in zwei festglegten Pfaden zu speichern, würde ich allerdings nicht den 'Speicher als' Dialog verwenden.

    Einfacher wäre dann:

    Sub speichern()
    p1 = "R:\Excel\Kassenprüfungen\Fertige Berichte\14-3\2005\"
    p2 = "U:\Excel\Kassenprüfungen\Fertige Berichte\2005"
    dateiname = Application.InputBox("Dateiname", "Speichern unter", "")

    If dateiname <> "" Then
    If UCase(Right(dateiname, 4)) <> ".xls" Then dateiname = dateiname + ".xls"
    On Error GoTo exsub
    ActiveWorkbook.SaveAs Filename:=p1 + dateiname, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
    ActiveWorkbook.SaveAs Filename:=p2 + dateiname, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
    End If
    Exit Sub
    exsub:
    End Sub

    Der Dateiname wird in der Inputbox eingegeben, ggF um '.xls' erweitert un in Pfaden p1 und p2 gespeichert.

    Hier mit anderen Pfadangaben erfolgreich getestet.

    HTH
    G.
     
  12. Amt14

    Amt14 Kbyte

    Hi,

    funktioniert bestens!
    Heißen Dank!

    Wolfgang
     
Thread Status:
Not open for further replies.

Share This Page